C++双精度和四舍五入

1 c++ double rounding double-precision

我有以下问题:

double a = 6.005; double b = 5.995;

例如,我想在点之后设置2位数的精度

double c = a+b;// I would like to get 11.99 not 12.00.

我怎样才能做到这一点?

duf*_*ymo 11

精确是一回事; 圆形显示是另一回事.

我认为这是错误的.您应该想要获得所有精度,并在结果完成时担心舍入以进行显示.

更新:

您不应该使用双打代表货币.上次我看,C++是一种面向对象的语言.您应该为Money创建一个正确的抽象,并从类的客户端抽象出这些细节.

如果您使用美元工作,您可以创建一个Money类来管理货币的私人代表.使用整数进行所有计算并在最后进行渲染.

  • 您不应该使用双打代表货币.上次我看,C++是一种面向对象的语言.您应该为Money创建一个正确的抽象,并从类的客户端抽象出这些细节. (3认同)

Max*_*kin 9

我想在点之后设置2位数的精度

只需乘以100然后使用整数.