String.Format an integer to use a thousands separator without decimal places or leading 0 for small integers

旧街凉风 提交于 2019-11-27 11:25:50
Richard Friend

This worked for me.

String.Format("{0:#,0} {1:#,0}", 5, 5000); // 5 5,000
ZafarYousafi

Try this:-

String.Format("{0:n0}",5000) // 5,000
String.Format("{0:n0}",5) // 5
String.Format("{0:n0}",0) // 0
String.Format("{0:#,0} {1:#,0}", 5, 5000); // "5 5,000"
  • 0 in a format string means put the digit that belongs here, or else a [leading/trailing] zero [to make things align, etc.]. EDIT: You'll definitely want one as the last digit in the pattern, or a zero value will be rendered as an empty String
  • # means don't put anything into the output unless there's a significant digit here.

EDIT (thanks @eulerfx):

  • the last portion needs to be a 0 rather than a # (as I initially had it) as a value of zero would otherwise be rendered as a zero-length string.

Try

String.Format("{0:#,#}", 4000);
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!