打印双倍没有科学格式&舍入到最接近的整数

时间:2016-05-23 10:29:38

标签: c++ double rounding scientific-notation

我需要在不使用指数表示/部分的情况下打印四舍五入的整数。 我目前正在使用它来打印舍入小数。

std::cout << std::llround(n) << n;

但是,对于大数字,它仍然会打印出这样的

1264744611.26474e+08

建议,好吗? 我的问题与question不同,因为它没有关注四舍五入。在尝试使用llround进行修复时,我会得到数字跟踪.000000

1 个答案:

答案 0 :(得分:3)

看看你发送给std :: cout的内容......

std::cout << std::llround(n) << n;

......两个值没有任何插入的标点符号或空格。在它们之间加一个换行符或者我想你会发现代码正在做它应该做的事情。 e.g。

std::cout << std::llround(n) << "\n" << n;