【发布时间】:2012-02-20 06:24:46
【问题描述】:
浮点数精度有问题:
int main(void) {
double b = 106.829599;
float a = b;
std::cerr << std::setprecision(6) << "a = " << a << "; b = " << b << std::endl;
std::cerr << std::setprecision(7) << "a = " << a << "; b = " << b << std::endl;
}
结果是:
a = 106.83; b = 106.83
a = 106.8296; b = 106.8296
所以,我的问题是为什么第一行的数字这么短(我原以为会看到 106.829)
gcc 4.1.2,我也在LWS做了一个测试
【问题讨论】:
标签: c++ stream numbers precision