2010-12-13 15 views
2

次の形式の文字列について詳しく説明できますか?私はその意味を完全には理解していません。文字列形式の質問(.NET)

String.Format("{0:#,0.##}", money); 

ありがとうございました。

+1

C#で文字列の書式設定を参照してください:http://blog.stevex.net/string-formatting-in-csharp/ –

答えて

2

それは小数点以下の値で、それは小数点以下2桁に丸め、そしてもしそこにされる場合はお金が桁区切り(、)を持っていることを意味し、それは

decimal money=12341257 //output= 12,341,257 
decimal money=1257  //output= 1,257 
decimal money=1257.25  //output= 1,257.25 
decimal money=1257.2468 //output= 1,257.25 
decimal money=.50   //output= 0.50 
decimal money=.759  //output= 0.76 

(0.27)となりますのみ小数点値(0.256)である。説明:

"{0:#,0.##}" 
    #,0 //means that , as thousand seperator 
    0.## //means that 0 is placed before if only decimal values as .56 to 0.56 
    0.## //means if contains decimal then only display 2 digits after decimal 
    0.00 //means 2 digits after decimal must be displayed whether or not money contains decimal value 
3

私は私が言うことを約てるものを確認することができないので、私は私と私の開発システムを持っていないが、ここでの私の解釈です:

フォーマット部分がある「#、0。##」。私は "#、0"部分がカンマが千(例えば1,000,000)を区切るべきであると指定していると思っています。そして "。##"は小数点以下の桁数を指定しています。私は2桁の数字を強制するには ".00"が必要だと思っていたでしょう。しかし、私はあなたが少なくとも小数点以下2桁に丸めを引き起こす必要があります期待します。

試しましたか?

0

私はそれが1000単位の区切りを持ち、10進値が含まれている場合は小数点以下の最初の2桁だけを示す通貨形式だと考えています。

ここでは、カスタム書式指定文字列の良い概要:
http://blog.stevex.net/string-formatting-in-csharp/

このリンクは、「」文字と桁区切りのより自由な形式の説明などの詳細が含まれています
http://msdn.microsoft.com/en-us/library/0c899ak8%28v=vs.71%29.aspx

0

基本的には、この形式で桁区切りと2桁の10進数を設定します。 Microsoftのドキュメントによれば、数字は正しい小数点以下の桁数に丸められます。

これは、カスタム数値書式指定文字列のための優れたリソースです: http://msdn.microsoft.com/en-us/library/0c899ak8.aspx