我正在編寫一個程序,它接受用戶輸入並獲取其平均值。我需要平均總是有三個小數點。 浮動不起作用。 一些在線教程建議使用setprecision()並修復。這是行不通的,因爲我不知道這個號碼會有多長。如何使一個雙精度值總是有三個小數點? C++
你推薦數轉換成字符串,得到的長度,將其轉換回雙及用途:setprecision(string.length減+ 3)
感謝
我正在編寫一個程序,它接受用戶輸入並獲取其平均值。我需要平均總是有三個小數點。 浮動不起作用。 一些在線教程建議使用setprecision()並修復。這是行不通的,因爲我不知道這個號碼會有多長。如何使一個雙精度值總是有三個小數點? C++
你推薦數轉換成字符串,得到的長度,將其轉換回雙及用途:setprecision(string.length減+ 3)
感謝
試試這個:
#include <iostream>
#include <iomanip>
using namespace std;
int main()
{
float ex[] = { 0.12345, 1.2345, 12.345};
cout << setprecision(3) << fixed;
for(int i = 0; i < 3; ++i)
{
cout << ex[i] << endl;
}
return 0;
}
這給輸出:
0.123 1.235 12.345
這樣應該可以工作..
#include <iostream>
#include <iomanip> // header file for setprecision()
using namespace std;
int main()
{
double input[4] = {1.000 , 2.0000 , 3.00 , 5.235 };
double answer = 0 , sum = 0 ;
int count = 0;
for(int i = 0; i < 3; ++i)
{
sum+=input[i];
count++;
}
answer = sum/count;
cout.precision(3);
cout << answer << endl;
return 0;
}
[浮點](http://en.wikipedia.org/wiki/Floating_point)在[IEEE 754](http://en.wikipedia。)中沒有小數位。組織/維基/ IEEE_754)。只有他們的輸出表示有。 –