Silly question, I want to format an integer so that it appears with the 1000's separator (,), but also without decimal places and without a leading 0.
My attempts so far have been:
String.Format("{0} {1}", 5, 5000); // 5 5000
String.Format("{0:n} {1:n}", 5, 5000); // 5.00 5,000.00
String.Format("{0:0,0} {1:0,0}", 5, 5000); // 05 5,000
The output I'm after is:
5 5,000
Is there something obvious that I'm missing?
String strDouble = String. format("%. 2f", 1.23456); This will format the floating point number 1.23456 up-to 2 decimal places, because we have used two after decimal point in formatting instruction %.
Place the cursor at the location you want to insert the 1000 separator, click Insert > Symbol > More Symbols. 2. In the Symbol dialog, under Symbols tab select Verdana from Font drop-down list, then select Basic Latin from Subset drop-down list, now select the 1000 separator from the list, click Insert to insert it.
This worked for me.
String.Format("{0:#,0} {1:#,0}", 5, 5000); // 5 5,000
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):
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);
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With