在 C++ 中有没有办法将确定数量的小数点设置为浮点值?例如,如果我要多次记录为浮点值,我很可能会生成不同的结果(根据小数位数)并希望生成相同长度的数字,即如果一个数字作为 返回1.33
并且还有其他数字返回为 1.333
我想将第一个结果读取为 1.330
。
我知道有限制小数位数的方法,例如 setprecision()
,但我不想失去时间的准确性。
最佳答案
您似乎混淆了两件事:C++ 中浮点计算的实际精度,以及 float
的格式(或 double
或 long double
)使用 C++ 流打印时的值(例如 cout)。
第一个取决于硬件/平台,除了在 float
之间选择外,您无法控制它。和 double
.如果您需要比 long double
更高的精度可以给你,你需要一个任意精度数学的库,例如GMPLIB .
打印/格式化时控制点后的位数更容易,例如,请参见以下问题:Set the digits after decimal point
关于c++ - 控制小数位数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20622855/