c++ - 如何在 std::cout 中既不以科学形式也不以定点表示法输出 float ?

标签 c++ visual-c++ floating-point

#include <iostream>

int main()
{
    float test = 12535104400;

    std::cout << test;

    std::cin.get();
    return 0;
}

//on msvc 2010 this ouputs:  1.25351e+010

我希望它只输出“12535104400”或者换句话说,没有前导零但输出数字的完整值的人类可读格式。

最佳答案

无法准确表示特定数字,例如尝试以下操作:

  float v = 12535104400;
  cout.precision(0);
  cout << fixed << v << endl;

你会看到它输出:12535104512

关于c++ - 如何在 std::cout 中既不以科学形式也不以定点表示法输出 float ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4337642/

相关文章:

c++ - 如何使用 string::replace 方法写入文件?

c++ - 你可以在 `std::remove_if` 的容器上使用 `std::unique_ptr` 吗?

c - 字符串不允许 float /十进制数

android - 定点数学 - 从浮点安全到总是产生相同结果的转换?

c++ - 在 std::containers 中存储值与指针之间进行选择时的注意事项

C++ UDP套接字以一定频率破坏数据包

visual-c++ - OpenCV 全屏窗口

c++ - 无窗口应用

c++ - 如何在图像处理中有效地使用线程?

math - float 学有问题吗?