C++ double 和舍入

标签 c++ double rounding double-precision

我有以下问题:

双 a = 6.005;双 b = 5.995;

我想在点后设置 double 2 位数字,例如

double c = a+b;//我想得到 11.99 而不是 12.00

我该怎么做?

最佳答案

精度是一回事;四舍五入的展示是另一回事。

我认为这是错误的。您应该想要获得所有的精度,并担心结果完成后显示的四舍五入。

更新:

您不应该使用 double 表示货币。上次我看的时候,C++ 是一种面向对象的语言。您应该为 Money 创建一个抽象,它做正确的事情并将这些细节从类的客户那里抽象出来。

如果您使用的是美元,则可以创建一个 Money 类来管理以美分表示的货币的私有(private)表示。使用整数进行所有计算并在最后呈现。

关于C++ double 和舍入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6875007/

相关文章:

c++ - 最准确,但是 "cheapest"测量 C++ 代码的方法?

Java:循环内未计算 double

python - 在 Python 3 中将字符串转换为 int 或 float?

javascript - 在javascript中对数字进行四舍五入

php - 去掉小数位而不舍入值

c++ - QWindow 提示不起作用

c++ - 带有谷歌时间戳的 Protobuf C++ 消息导致段错误

c++ - 在一个类的析构函数中应该删除的所有内容

java - 双格式化程序附加尾随 0

algorithm - 如果奇数,如何执行按位舍入到偶数?