我想格式化一个整数,以便它出现在1000的分隔符(,)
到目前为止,我的尝试是:
String.Format("{0:#,###.##}", 1234.0); // 1,234
String.Format("{0:#,###.##}", 1234.05); // 1,234.05
String.Format("{0:#,###.##}", 1234); // 1,234
我正在努力将值显示为输出1,234.0 .. 你能否建议我如何输出字符串1,234.0 ??
答案 0 :(得分:3)
我理解你的问题的方式:
另外,我猜是
您使用的格式字符串的问题在于您使用#
指定数字位置。 According to the documentation,此字符表示:
取代"#"带有相应数字的符号(如果有); 否则,结果字符串中不会出现数字。
(我的重点)
另一方面,0
字符:
如果存在,则用相应的数字替换零; 否则,结果字符串中会显示零。
(再次,我的重点)
所以你应该使用一些0
而不是#
。
具体来说,这是我根据本答案顶部的3个要点使用的格式字符串:
#,##0.0
这意味着:
#,##0
因此意味着"在此处为整数部分留出位置,必要时添加千位分隔符,并且仅在第一个之后添加数字(如果需要),但始终添加至少一位数字,以便您不会因此而获得.1
" .0
表示" 1小数位"
.#
表示"如果小数位数不是0,则添加小数点和小数位,如果小于0,则不要添加",这可能是格式化字符串的主要问题 这里有.NET Fiddle来试用。