开发者

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?


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.


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


use:

Thread.CurrentThread.CurrentCulture = new CultureInfo("en-US", false);


Also, if you want to use a culture specified by the user you can use:


string userInfo = "en-US";

yourDecimal.ToString("N2", CultureInfo.CreateSpecificCulture(userInfo));

or

yourDecimal.ToString("N2", new CultureInfo(userInfo));
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜