-4 c++ floating-point precision
我刚刚在c ++中遇到过这个问题
std::cout << -5.0000004768371582 + 5 << "\n";
Run Code Online (Sandbox Code Playgroud)
这将打印-4.76837e-007,即使你认为它会打印像0.000000476 ...我知道浮点数并不总是正确的,但我以前从未见过这个.我也看到过这与其他数字有关.
为什么是这样.我怎么能解决它?
小智 5
您遇到的输出称为科学记数法.如果希望以固定点表示法显示,则使用std::fixed
.
#include <iostream>
#include <iomanip>
int main()
{
std::cout << std::fixed << std::setprecision(10) << -5.0000004768371582 + 5 << "\n";
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
128 次 |
最近记录: |