如何打印周期数而不舍入到n位小数?

时间:2013-09-30 04:58:38

标签: c++ c printing

假设x = 2/3且n = 10

然后我想打印: .6666666666(10个六,因为n是10)

而不是 .6666666667< - 我不想那七个!!!!

你如何以C或C ++的方式打印?

1 个答案:

答案 0 :(得分:1)

C:

double foo = 2.0 / 3.0;
printf("%.10f", floor(foo * pow(10, 10)) / pow(10, 10));

C ++:

double foo = 2.0 / 3.0;
std::cout
    << std::fixed
    << std::setprecision(10)
    << std::floor(foo * std::pow(10.0, 10.0)) / std::pow(10.0, 10.0);