【发布时间】:2013-03-19 21:56:29
【问题描述】:
我有一个 C++ 程序,它接收值并打印出如下值:
getline(in,number);
cout << setw(10) << number << endl;
我有一个等效的 C 程序,它接收值并像这样打印出来:
fscanf(rhs, "%e", &number);
printf("%lf\n", number);
但是当 C++ 程序打印出来时,0.30951 C 程序打印出 0.309510。更多示例:C++:0.0956439 C:0.095644。只要值是 7 位长,它似乎打印相同的结果,但如果它更短 7 位,它会在末尾添加一个额外的 0。如果它的长度超过 7 位,则向下舍入到 6 位。我希望 C 结果与 C++ 程序相匹配。任何帮助将不胜感激。
谢谢。
注意:数字是浮点数,数字是从文件中读取的。
【问题讨论】:
-
您要更改 C 结果以匹配 C++ 还是反之亦然?
-
正确,我希望 C 结果与 C++ 匹配。
标签: c++ c floating-point precision