cout<<5*1.0<<endl;
cout<<(float)5<<endl;在这两种情况下,我得到的答案都是5,而不是5.0。请帮帮我。
发布于 2015-06-24 13:49:34
您需要指定floatingPoint输出的格式和精度,例如:
std::cout << std::fixed << std::setprecision(1) << 5*1.0;来自The.C++.Programming.Language.Special.Edition 21.4.3 FloatingPoint Output io.out.float
浮点输出由格式和精度控制:
-通用格式允许实现选择一种格式,该格式以最好地保留可用空间中的值的样式呈现值。精度指定最大位数。它对应于printf()的%g (§21.8)。
-科学格式表示小数点前有一位数和指数的值。精度指定小数点后的最大位数。它对应于printf()的%e。
-固定格式将值表示为整数部分,后跟小数点和小数部分。精度指定小数点后的最大位数。它对应于printf()的%f。
https://stackoverflow.com/questions/31018436
复制相似问题