我有以下问题:
双 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/