C++ 四捨五入與不四捨五入

忽悠死你、哈哈發表於2020-10-05

關於C++中保留幾位小數,以及是否四捨五入的方法

程式碼:

#include<iostream>
#include<iomanip> //輸出流控制,setiosflags(ios::fixed),setprecision(n)的標頭檔案
using namespace std;
int main()
{
	double n = 50.26548;
	printf("%.4f", n); cout << endl; //列印輸出小數點後4位,會四捨五入

	cout << setprecision(4) << n << endl;//輸出4位有效數字,包括整數和小數部分,會四捨五入 
	cout << setiosflags(ios::fixed) << setprecision(4) << n << endl;//輸出小數點後4位,會四捨五入,會影響後面的setprecision()輸出
	cout << setprecision(4) << n << endl;//受前面影響,只輸出小數點後4位,而不再是包括整數部分的7位,會四捨五入

	cout << setiosflags(ios::fixed) << setprecision(4)<<floor(n * 10000)/10000<< endl;//不會四捨五入,保留幾位小數就乘和除10的幾次方
	system("pause");
	return 0;
}

輸出結果:
在這裡插入圖片描述

相關文章