我有以下功能片段:
bool A_AbstractTester_Actor::Equals( int lineNumber, T_String valueText, double value, T_String expectedText, double expected, double accuracy )
{
...
v_FailedText << std::setprecision(8) << "\nLine " << lineNumber
<< ": EQUALS_DOUBLE FAILED, Value '" << valueText << "' (" << value
<< "), Expected '" << expectedText << "' (" << expected << ")\n";
稍后我打印 v_FailedText,结果是:
Line 242: EQUALS_DOUBLE_FAILED, Value 'step' (0), Expected '1.0' (1)
我期望的是:
Line 242: EQUALS_DOUBLE_FAILED, Value 'step' (0.00000000), Expected '1.0' (1.00000000)
最佳答案
你应该使用 std::fixed操纵器。
bool A_AbstractTester_Actor::Equals( int lineNumber, T_String valueText, double value, T_String expectedText, double expected, double accuracy )
{
...
v_FailedText << std::fixed << std::setprecision(8) "\nLine " << lineNumber
<< ": EQUALS_DOUBLE FAILED, Value '" << valueText << "' (" << value
<< "), Expected '" << expectedText << "' (" << expected << ")\n";
关于c++ - setprecision 不显示数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32221020/