C ++ setprecision(设置小数位数1-10)

时间:2013-05-06 01:19:31

标签: c++

编辑所以我发布了HTML和我正在使用的代码。我没有收到任何错误,但它与小数的数量没有任何不同?

所以我有一个表格,用户将选择1到10来决定显示多少小数,以便计算显示“回答”。我正在尝试使用setprecision,请帮我清理我的代码

int decDropDown;

getvar("decDropDown",  dest4,buffer);

decDropDown = atoi(dest4); // The decimal value

if(decDropDown == 1)
{
    cout<<setprecision(decDropDown)<<answer<<endl;
}
else if(decDropDown == 2)
{
    cout<<setprecision(decDropDown)<<answer<<endl;
}

..依此类推。

HTML

<p>Please select how many decimal places to show your answer :  
<select name="decDropDown">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
<option value="8">8</option>
<option value="9">9</option>
<option value="10">10</option>
</select>

2 个答案:

答案 0 :(得分:1)

#include <iostream>
#include <iomanip>

int main()
{ 
    double whatever = 3.13;
    // using IOManip header:
    std::cout << std::setprecision(100) << std::fixed << whatever << std::endl; 
}

setprecision 是标准命名空间的一部分,因此如果你不调用使用std :: setprecision和std :: fixed 使用命名空间std; 你必须使用 std :: setprecision std :: fixed 而不是 setprecision fixed

您没有告诉我们您的标头声明是什么样的,因此根据您发布的内容判断您可能需要包含头文件或使用范围解析运算符。

答案 1 :(得分:0)

该代码没有任何问题,但您应该使用它,这样可以节省时间。

cout<<setprecision(decimalValue)<<answer<<endl;