打印没有科学格式的双精度并四舍五入到最接近的整数

Print double without scientific format & rounded to nearest integer

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

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

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

1264744611.26474e+08

有什么建议吗? 我的问题与 question 不同,因为它不考虑四舍五入。在尝试使用 llround 进行修复时,我得到的数字尾随 .000000

看看您要发送给 std::cout...

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

...两个值 没有 任何中间标点符号或空格。在它们之间放一个换行符或其他东西,我想你会发现代码正在做它应该做的事情。例如

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