重複の可能性:
文字列値を1000の区切り文字で10進数に変換しますか?
これは非常に単純な質問かもしれません。
数値を通貨形式に変換したい。
ダブルナンバー=1000000.00;
に変換
文字列Strnumber=10,00,000.00;
何か案が?..................
ただし、通貨名ではなく数字のみが表示されます
重複の可能性:
文字列値を1000の区切り文字で10進数に変換しますか?
これは非常に単純な質問かもしれません。
数値を通貨形式に変換したい。
ダブルナンバー=1000000.00;
に変換
文字列Strnumber=10,00,000.00;
何か案が?..................
ただし、通貨名ではなく数字のみが表示されます
C
通貨の書式指定子を使用します。
Double number = 1000000.00;
String output = number.ToString("C2");
編集: コメントされているように通貨記号が必要ない場合は、のオーバーロードを使用できToString
ますFormatProvider
。次に、NumberFormatInfo
シンボルなしでカスタムを渡します。
var culture = CultureInfo.CurrentCulture;
var mutableNfi = (NumberFormatInfo) culture.NumberFormat.Clone();
mutableNfi.CurrencySymbol = "";
String output = number.ToString("C2", mutableNfi);
decimal value = 16325.62m;
string specifier;
specifier = "N";
Console.WriteLine("{0}: {1}", specifier, value.ToString(specifier));
// Displays: N: 16,325.62
必要な出力から、インドの数値グループ化システムを使用しているようです。
以下は、Lakh/Crore などでフォーマットされた値を提供するはずです。
Double number = 1000000.00;
Console.WriteLine(String.Format(new System.Globalization.CultureInfo("en-IN"), "{0:C2}", number));
出力する必要があります
10,00,000.00
通貨記号なしで数字を表示したい場合。N
一般的な数値指定子を使用して数値を再フォーマットできます。考慮すべき唯一の問題は、負の数をどのように表示するかです。例えば、
Double number = 1000000.00;
Console.WriteLine(String.Format(new System.Globalization.CultureInfo("en-IN"), "{0:N2}", number));
または、数値形式指定子内の通貨記号を置き換えることができます。例えば、
System.Globalization.CultureInfo ci = new System.Globalization.CultureInfo("en-IN");
ci.NumberFormat.CurrencySymbol = "";
Console.WriteLine(String.Format(ci, "{0:N2}", number));
どちらも出力する必要があります
10,00,000.00