2017-03-02 4 views
0

何千も何百万という数値を表示するために使用できるカスタム数値書式文字列はありますか?分割しないで千または百万単位で表示する数値をフォーマットする

異なる使って... ...

$ 2.2

(単位:百万ドルあれば)

$ 2,235

(もし千)...または:私はとして数2,234,567.00を表示したいと思いますFormatStrings in:

MsgBox(MyNumber.ToString("FormatStrings")) 

希望の表示文字列に基づいて数値を1,000または1,000,000で割るロジックを構築することは決して望ましくありません。

+0

これを処理できる独自のIFormatterインスタンスを定義することをお勧めします。 – Igor

+0

@Igor、%のフォーマットに100を掛けることを考慮すると、そこに先天的な能力は既に存在しないと奇妙に思えます。 –

+0

すぐに入手できるものはすべてここにあります:[標準数値形式の文字列](https://msdn.microsoft.com/en-us/library/dwhawy9k%28v=vs.110%29.aspx) – Igor

答えて

1

Custom Numeric Format Stringsで説明されているように、スケーリングにグループセパレータ "、"を使用できます。

など。

double d = 2234567.00; 
Console.WriteLine(d.ToString("#,0,")); // 2,235 
Console.WriteLine(d.ToString("#,0,.0")); // 2,234.6 
Console.WriteLine(d.ToString("#,0,,.0")); //2.2 
+0

それは完璧です、@ジョー。 –

-1

@ジョーの答えは正しい - 次はちょうど追加の文脈を提供し、答えは質問と同じ形式で表示されます。

これは実際には簡単です。魔法の後にそれらのコンマで発生

MsgBox(MyNumber.ToString("#,##0,,.0")) 

... 2.2として - 百万 - 2,234,567.00を表示するには2235 ...

MsgBox(MyNumber.ToString("#,##0,")) 

として - 千 - 2,234,567.00を表示するには

それらはそれぞれ3桁の数字を置き換えます。

関連する問題