Answers:
根据有关Digit Placeholder的文档。
如果要格式化的值在格式字符串中出现“#”的位置有一个数字,则该数字将被复制到结果字符串中。否则,结果字符串中的该位置将不存储任何内容。即使该字符不是有效数字,该说明符也不会显示“ 0”字符,即使“ 0”是字符串中的唯一数字。如果所显示数字中的有效数字,它将显示“ 0”字符。“ ##”格式字符串使该值四舍五入到小数点前的最接近的数字,其中始终使用从零舍入。例如,使用“ ##”格式化34.5将得到值35。
如果要显示零,请使用Zero PlaceHolder
如果要格式化的值在格式字符串中出现“ 0”的位置有一个数字,那么该数字将被复制到结果字符串中。小数点前最左边的“ 0”和小数点后最右边的“ 0”的位置决定了结果字符串中始终存在的数字范围。
“ 00”说明符使值四舍五入到小数点前的最接近的数字,其中始终使用从零舍入。例如,将34.5格式化为“ 00”将得到值35。
试试这个 0.ToString("#,##; #,##;0")
第一部分适用于正值,第二部分适用于负值,第三部分适用于零。
像这样使用它:
0.ToString("#0.##")
0
#
如果该值为0 ,则将确保将输出值设置为0,否则将显示该值。所以,0.0.ToString("#0.##")=0.00
和10.ToString("#.##")=10.00