为什么乘以1.0到5得到输出5而不是5.0?

时间:2015-06-24 05:40:56

标签: c++ c++98

R.xml.settings

在这两种情况下,我得到5作为答案而不是5.0。请帮忙......

1 个答案:

答案 0 :(得分:4)

您需要指定floatingPoint输出的格式和精度,例如:

std::cout << std::fixed << std::setprecision(1) << 5*1.0;

LIVE

From [The.C ++ .Programming.Language.Special.Edition] 21.4.3 FloatingPoint输出[io.out.float]:

  

浮点输出由格式和精度控制:

     

-   通用格式允许实现选择呈现的格式   最好保留空间价值的风格的价值   可用。精度指定最大位数。它   对应于printf()的%g(§21.8)。

     

- 科学的格式呈现   小数点前一位数和指数的值。该   precision指定小数点后的最大位数   点。它对应于printf()的%e。

     

- 固定格式呈现一个   值作为整数部分后跟小数点和小数   部分。精度指定了之后的最大位数   小数点。它对应于printf()的%f。