以十进制显示小的双倍,而不是科学格式C ++ / CLR

时间:2017-08-24 16:13:16

标签: c++-cli clr

我在显示切换到科学格式(类似0.00006)时会加倍6E-05。 我试过了Math::Round(doublenumber, 5),但它不能围绕小于0.0001的数字。舍入0.00016工作正常,但0.00006没有,我想打印0.00006而不是我的表格中的科学数字。 有什么帮助吗?

1 个答案:

答案 0 :(得分:1)

Double.ToString(String^)使用"F" format string。这会强制使用定点格式。

我的测试程序:

int main(array<System::String^>^ args)
{
    double d = 0.00006;
    Debug::WriteLine(d.ToString("f")); // Uses the default precision value, 2
    Debug::WriteLine(d.ToString("f5"));
    Debug::WriteLine(d.ToString("f9"));
    Debug::WriteLine(d.ToString("f99")); // Highest supported

    return 0;
}

结果:

0.00
0.00006
0.000060000
0.000060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000