c++ - 打印一个精度为 double 的值

标签 c++ double precision

我有一个第三方库可以从实验室秤中读取数值。这个库接口(interface)了许多比例模型,每个模型都有自己的精度。 我需要在我的 C++ 应用程序(使用该库)中做的是从秤( double 格式)读取重量值并打印它,同时考虑秤精度(因此给用户,读取该值,信息关于比例精度)。

所以,连接一个精度为 2 位小数的秤,输出应该是例如:23.45 g 相反,连接一个精度为 4 位小数的秤,输出应该是例如:23.4567 g

事实是我不知道图书馆的比例精度。 该函数如下所示:

double value = scale.Weight();

如果我只打印 double 值,输出的形式可能是:

1.345999999999999

代替:

1.346

有没有办法理解 double ,以便输出显示具有比例精度的重量?

编辑:刻度精度从 0 到 6 位小数。

最佳答案

没有。此信息应在 scale 类中,因为 double 类型具有“固定”精度,您无法更改它。类型精度和打印精度也是两个不同的东西。您可以使用具有无限精度但在点等之后始终显示 2 位数字的类型。如果 scale 没有精度信息,您可以在其中做一个辅助类和硬代码精度,然后将它与一些 scale 属性或类型。

关于c++ - 打印一个精度为 double 的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42791388/

相关文章:

Java Double/Float 的意外舍入

整个文件的 Java BufferedWriter 精度

c++ - 从 C++ 使用 netlink 的最佳方法是什么?

c++ - 优化或新算法来解决这个问题?

swift - 如何在 swift 中将 Double 舍入到最近的 Int?

java - Equals 方法中浮点/ double 实例变量的相等比较是否应该准确?

geometry - 鲁棒线性插值

python - Python数组中的浮点精度

c++ - 如何向创建对象的类发送消息

c++ - 阅读 PPM 图像问题