如何在C ++中保留一定数量的小数位数(而不是有效数字)?

时间:2019-05-25 13:10:36

标签: c++ io

在算法竞赛中,有时会出现一些问题,要求解决方案保留一定数量的小数位,例如(保留2个小数位时)3的输出为3.003.14159263.14

但是,std::setprecision不能满足要求,因为它可以控制有效数字的数量,而不是小数位数。例如,以下代码

std::cout << set::precision(5) << 123.456;

实际产生输出

123.46

而不是预期的

123.45600

真正需要的是与以下printf完全相同的输出:

printf("%.5lf", 123.456);

那么在C ++中如何保留一定数量的小数位而不是有效数字?在我看来,printf可能不是一个好主意,因为我个人认为printf仅出于兼容性原因而存在于C ++中。

0 个答案:

没有答案