如何以最小精度格式化double

时间:2013-03-27 12:43:09

标签: c# format double precision tostring

我认为这是一个简单的问题。 我有一组双打,我想在列表框中显示。 它至少应该显示三个小数位,但是,如果有三个以上的数字,它应该全部显示。

我认为这样可行,但最终只显示三位小数:

    string.Format("{0} {1} {2}", freq.ToString("#0.000#", CultureInfo.CurrentCulture), hz, band);

也许我错过了什么。我真的不想手动检查位数,并在必要时转换格式块。

感谢。

2 个答案:

答案 0 :(得分:1)

只需在格式字符串中添加更多"#"

freq.ToString("#0.000#############", CultureInfo.CurrentCulture)

double15-16 digits precision,因此13 #应该适用于所有情况。

答案 1 :(得分:0)

大概:

freq.ToString("0.000#")

这将在小数点分隔符后至少提供3位数字。

所以:

4.25   --> 4.250

4.2555 --> 4.2555