【发布时间】:2019-01-28 01:50:17
【问题描述】:
我正在编写一个程序,我必须将双精度舍入到小数点后第二位。我注意到 printf("%.2f", (double) 12.555) 返回 12.55。但是,printf("%.2f", (float) 12.555) 返回 12.56。谁能解释为什么会这样?
【问题讨论】:
-
用 6 位以上的数字打印出 float 和 double,看看结果如何。我假设不精确的值被正确舍入。 :)
标签: c++ floating-point double