Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Format decimal to string in correct culture info

What is the best way to format a decimal amount to string for UI display in the correct culture info?

like image 763
c00ke Avatar asked Feb 26 '10 12:02

c00ke


3 Answers

Add a format to the ToString: myDecimal.ToString("#.00") or myDecimal.ToString("C").

For a nullable decimal (decimal?) you will need to use the .Value property (myNullableDecimal.Value.ToString("C")) or cast the value to a plain (non-nullable) decimal. Be sure not to do this when the value is null or you will get an exception!

See the documentation for Standard or Custom numeric format strings.

like image 169
Hans Kesting Avatar answered Sep 24 '22 19:09

Hans Kesting


Why not decimalVar.ToString("F2", CultureInfo.CurrentCulture);. For format strings (the "F2" part) and what they do, see Standard Numeric Format Strings and Custom Numeric Format Strings

like image 37
Philip Rieck Avatar answered Sep 23 '22 19:09

Philip Rieck


use:

Thread.CurrentThread.CurrentCulture = new CultureInfo("en-US", false);
like image 39
NetSide Avatar answered Sep 24 '22 19:09

NetSide