gpt4 book ai didi

c++ - 如何将 double 3.14567 视为 3.14(即具有给定的精度)

转载 作者:太空宇宙 更新时间:2023-11-04 15:53:34 30 4
gpt4 key购买 nike

我想知道在 C++ 中是否有任何方法可以处理具有给定精度的 double 。例如,数字 3.1345 将被视为 3.13,数字 0.009 将被视为 0(点后精度为 2)。

我需要将其应用于数学运算。例如:

double a = 0.009;
double b = 3.12345

//a should be considered as 0, b as 3.12

double c = a*b // should output 0.
double d = a+b // should output 3.12

因为函数 setprecision() 是针对 std 我想知道是否有任何其他函数可以做到这一点。

谢谢

最佳答案

这永远不会对 double 正常工作。 double 是二进制分数,它们没有小数或小数精度。阅读The Floating-Point Guide了解详情。

如果您需要特定的小数行为,则必须删除 double 并使用小数数据类型。您可能会发现基于双重的解决方案似乎有效,但您总会遇到无效的情况。

关于c++ - 如何将 double 3.14567 视为 3.14(即具有给定的精度),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3750671/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com