-2
在一個問題中,我收到了這樣的輸入,我需要按原樣輸出它們。
例如我將收到5.0作爲輸入,並需要打印5.0作爲輸出,
但正在打印5.我用setprecision未工作。
我認爲這個東西是 對於像2.0,3.0,4.0這樣的數字來說,它是在輸入自己的時候四捨五入。 請幫幫我。如何獲取float值並將其作爲C++打印出來(5.0爲5.0)
見我的代碼:
float n=5.0
// n*=1.0;
cin>>n;
cout<<setprecision(16);
cout<<n;//its printing 5 here
/*
I also tried
printf("%f",n);
//but its printing 5.000000
I can't use printf("%.1f",n)<br>
as input can be 5.234 or 4.5687 so making %.1f will not work for others
*/
'5','5.0','5.00','5.000'有什麼區別?在數學上,什麼都沒有。它應該如何知道你想要什麼?你是否特意表示你總是想要1位小數?看起來不是。你想要所有非'0'小數位嗎?似乎也不是那個。 (這是在我們甚至解決不同二進制和十進制表示的問題之前)。如果你想要的是用戶輸入的內容,也許你真的想要一個'std :: string'? – BoBTFish
另外使用'setw(4)'。 –
一起使用'std :: fixed'。 – songyuanyao