c++ - 控制小数位数

标签 c++ decimal

C++ 中有没有办法将确定数量的小数点设置为浮点值?例如,如果我要多次记录为浮点值,我很可能会生成不同的结果(根据小数位数)并希望生成相同长度的数字,即如果一个数字作为 返回1.33 并且还有其他数字返回为 1.333 我想将第一个结果读取为 1.330

我知道有限制小数位数的方法,例如 setprecision(),但我不想失去时间的准确性。

最佳答案

您似乎混淆了两件事:C++ 中浮点计算的实际精度,以及 float 的格式(或 doublelong double )使用 C++ 流打印时的值(例如 cout)。

第一个取决于硬件/平台,除了在 float 之间选择外,您无法控制它。和 double .如果您需要比 long double 更高的精度可以给你,你需要一个任意精度数学的库,例如GMPLIB .

打印/格式化时控制点后的位数更容易,例如,请参见以下问题:Set the digits after decimal point

关于c++ - 控制小数位数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20622855/

相关文章:

c++ - 指向包含指向 vector 指针的结构的 vector

c++ - 为什么我们仍然需要定义我们自己的函数比较器

php - PHP 中特定小数位的小数舍入

bash - 在 bash 中将科学计数法转换为十进制

python - 如何在 Python 中比较 Python float 和 Mysql 小数?

Visual Studio 2013 中的 C++ UI 替代方案

c++ - 列表中 -> 运算符的语义(以及一般的 C++)

c++ - FFMPEG实现RTSP客户端,高速播放

c - 在C中显示 float 的小数位

java - 乘以 DecimalFormat 数字(不再正确舍入)