格式####0.000000 与 0.000000 不同吗?

Is format ####0.000000 different to 0.000000?

我目前正在处理一些遗留代码并遇到了以下问题:

FooString = String.Format("{0:####0.000000}", FooDouble)

我的问题是,这里的格式字符串 ####0.000000 与简单的 0.000000 有什么不同吗?

我正在尝试概括设置 FooDouble 的 return 类型的函数,因此检查以确保我不会破坏现有功能,因此试图找出 # 在这里添加。

我已经 运行 在玩具程序中进行了几次测试,但看不出结果有何不同,但也许我遗漏了什么?

来自 MSDN

The "#" custom format specifier serves as a digit-placeholder symbol. If the value that is being formatted has a digit in the position where the "#" symbol appears in the format string, that digit is copied to the result string. Otherwise, nothing is stored in that position in the result string.

Note that this specifier never displays a zero that is not a significant digit, even if zero is the only digit in the string. It will display zero only if it is a significant digit in the number that is being displayed.

因为您在小数点分隔符前使用了一个 0 0.0 - 两种格式应该 return 相同的结果。