我有一个第三方的图书馆,可以从实验室的天平上读取数值。这个库接口了许多比例模型,每个模型都有自己的精度。在我的C++应用程序(使用该库)中,我需要做的是从刻度(双倍格式)中读取权重值,并将其打印出来,同时考虑刻度精度(因此,为用户提供读取该值的刻度精度信息)。
因此,连接具有2个小数精度的小数位数时,输出应为例如:23.45g;连接具有4个小数精度的小数位数时,输出应为例如: 23.4567 g
事实上,我不知道图书馆里的小数位数精度。该函数如下所示:
double value = scale.Weight();如果我只是打印双精度值,输出的形式可能是:
1.345999999999999而不是:
1.346有没有办法理解双精度,以便输出显示具有刻度精度的权重?
编辑:小数位数精度为0到6位小数。
发布于 2017-03-15 00:43:18
不是的。这个信息应该在scale类中,因为double类型的精度是“固定的”,你不能改变它。另外,打字精度和印刷精度是两回事。你可以使用具有无限精度的类型,但是总是在点后面显示2位数,等等。如果scale没有精度信息,你可以做一个助手类,并在其中硬编码精度,然后将它与一些scale属性或类型关联起来。
https://stackoverflow.com/questions/42791388
复制相似问题