C# 如何以最小精度格式化双精度

C# 如何以最小精度格式化双精度,c#,format,double,precision,tostring,C#,Format,Double,Precision,Tostring,我有一个我认为很简单的问题。 我有一个我想在列表框中显示的双精度集合。 它至少应显示三位小数,但是,如果有三位以上的数字,则应全部显示 我原以为这样行得通,但结果只显示了小数点后三位: string.Format("{0} {1} {2}", freq.ToString("#0.000#", CultureInfo.CurrentCulture), hz, band); 也许我错过了什么。我真的不想手动检查位数,必要时转换格式块 谢谢。可能: freq.ToString("0.000#

我有一个我认为很简单的问题。 我有一个我想在列表框中显示的双精度集合。 它至少应显示三位小数,但是,如果有三位以上的数字,则应全部显示

我原以为这样行得通,但结果只显示了小数点后三位:

    string.Format("{0} {1} {2}", freq.ToString("#0.000#", CultureInfo.CurrentCulture), hz, band);
也许我错过了什么。我真的不想手动检查位数,必要时转换格式块

谢谢。

可能:

freq.ToString("0.000#")
这将在小数点分隔符后提供至少3位数字

因此:

可能:

freq.ToString("0.000#")
这将在小数点分隔符后提供至少3位数字

因此:

只需在格式字符串中添加更多的
“#”

freq.ToString("#0.000#############", CultureInfo.CurrentCulture)
double
有,所以13
#
应该适用于所有情况。

只需在格式字符串中添加更多的
“#”

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

double
有,所以13
#
应该可以在所有情况下使用。

freq=1e-7/3
?不要期望尾数的大小告诉你最小有效数字的位置值是多少。我希望它不会像那样简单。谢谢。
freq=1e-7/3
?不要期望尾数的大小告诉你最小有效数字的位置值是多少。我希望它不会像那样简单。谢谢