OR
誰でも自由に記事を投稿・編集できるオープンリファレンス
記事ID:528
区分:プログラム  |  分類:C#  |  最終更新日:2014/06/29
クリエイティブ・コモンズ 表示-継承ライセンス 2.1
【C#】数値を指定の書式に変換する
関連タグ:c#, ToString, 書式
このエントリーをはてなブックマークに追加      
本文
履歴
編集
閲覧数: 84,730
C#関連技術まとめ > 【C#】数値を指定の書式に変換する

C# で数値を指定のフォーマットに変換するには、ToString メソッドに書式を指定することで行います。

 

【例1】

Console.WriteLine((123.456).ToString("0.0"));  // 123.5 が表示されます
Console.WriteLine((1234567).ToString("C"));    // ¥1,234,567 が表示されます

 

書式の "0" は桁のプレースフォルダ、"." の前後はそれぞれ整数と少数の桁数、"C" は通貨の書式を表します。

ToString メソッドで指定できる書式は以下になります。

標準の数値書式指定文字列

標準の数値書式指定文字列は、アルファベット 1 文字で表す「書式指定子」と数字で表す「精度指定子」で指定します。

書式指定子意味説明使用例結果
Cまたはc 通貨

通貨表記で表示。

先頭に通貨記号が挿入され、3桁毎にカンマで区切られる。

精度指定子は小数部の桁数。(桁が足りない場合は0埋め)

(1234567).ToString("C")

(1234.567).ToString("C1")

(1234.56).ToString("C4")

¥1,234,567

¥1,234.6(※1

¥1,234.5600

Dまたはd 10進数

10進数として表示。(整数型のみサポート)

精度指定子は桁数。(桁が足りない場合は0埋め)

(0x123).ToString("D")

(1234).ToString("D6")

291

001234

Eまたはe 指数

指数表記で表示。

精度指定子は小数部の桁数。(桁が足りない場合は0埋め)

(123.456).ToString("E")

(0.12345).ToString("e3")

1.234560E+002

1.235e-001(※1,2

Fまたはf 固定小数点

固定小数点として表示。

精度指定子は小数部の桁数。(桁が足りない場合は0埋め)

(123.456).ToString("F")

(0.123).ToString("F5")

123.46(※3

0.12300

Gまたはg 一般

一般的な表記として表示。

精度指定子は数値型によって異なる。

(0.1234).ToString("G")

(123456).ToString("G4")

0.1234

1.235E+05

Nまたはn 数値

数値表記で表示。 3桁毎にカンマで区切られる。

精度指定子は小数部の桁数。(桁が足りない場合は0埋め)

(1234567).ToString("N")

(-1234.567).ToString("N1")

1,234,567.00※3

-1,234.6

Pまたはp パーセント

パーセント表記として表示。

数値に 100 を掛けて末尾にパーセント記号が挿入される。

精度指定子は小数部の桁数。(桁が足りない場合は0埋め)

(0.123456).ToString("P")

(-0.123456).ToString("P1")

(0.999).ToString("P0")

12.35%※1,3

-12.3%

100%

Rまたはr ラウンドトリップ

変換後の文字列が、変換前の数値へ戻るように解析されることを指定する。

(Single、Double、BigInteger 型のみサポート)

精度指定子は無視。

(1.23456789123456).ToString("R")

(1.623e-21).ToString("R")

(1.23456789123456789).ToString("R")

1.23456789123456

1.623e-21

1.2345678912345679

 

Xまたはx 16進数

16進数として表示。(整数型のみサポート)

精度指定子は桁数。(桁が足りない場合は0埋め)

(10).ToString("X")

(123).ToString("x4")

A

007b(※2

※1 小数部の丸めは四捨五入で行われます。

※2 書式指定子を小文字で指定した場合、指数表記にも小文字の “e” となります。

※3 デフォルトの精度指定子はカルチャによって異なります。

※4 上記以外のアルファベットを書式指定子に指定した場合は実行時に FormatException がスローされます。

カスタム数値書式指定文字列

カスタム数値書式指定文字列は、以下の書式指定子を組み合わせて指定します。

書式指定子意味説明使用例結果
0

ゼロプレースホルダー

桁を表す書式。

指定の桁に対応する数値がある場合は数値を、無い場合は 0 を表示。

指定書式より桁が大きい場合、整数部はそのまま表示され、小数部は丸められる。

(12.34).ToString("000.000")

(-123.456).ToString("00.00")

(123.456).ToString("0")

012.340

-123.46

123(※1

#

桁プレースホルダー

桁を表す書式。

指定の桁に対応する数値がある場合は数値を、無い場合は非表示。

指定書式より桁が大きい場合、整数部はそのまま表示され、小数部は丸められる。

(12.34).ToString("###.###")

(-123.456).ToString("##.##")

(123.456).ToString("#")

12.34

-123.46

123(※1

.

小数点

小数点の位置を指定する書式。

小数点の記号はカルチャによって異なる。

(123.456).ToString("0.00")

12.35

,

桁区切り記号および数値の位取り

桁区切りを指定する書式。

区切り記号と区切られる桁数はカルチャによって異なる。

小数点のすぐ左に "," がある場合、1つにつき数値が1000で除算される。

(1234567).ToString("0,0")

(1234567).ToString("0,")

(1234567).ToString("0,,")

(1000).ToString("0,0,0")

1,234,567

1235(※2

1

1,000

%

パーセントプレースホルダー

パーセントを表す書式。

数値に 100 を掛けて末尾にパーセント記号が挿入される。

パーセントの記号はカルチャによって異なる。

(0.123456).ToString("0.00%")

(0.123456).ToString("0%")

12.35%

12%

パーミルプレースホルダー

パーミルを表す書式。

数値に 1000 を掛けて末尾にパーミル記号が挿入される。

パーミルの記号はカルチャによって異なる。

(0.123456).ToString("0.00‰")

(0.123456).ToString("0‰")

123.46‰

123‰

E0
E+0
E-0
e0
e+0
e-0

指数表記

指数表記を指定する書式。

E(またはe)記号後のゼロプレースホルダーで指数部の桁数を指定。

(12.345).ToString("0.00E0")

(12.345).ToString("0.00E+00")

(0.1234).ToString("0.00E0")

(0.1234).ToString("0.00E-00")

1.23E1

1.23E+01

1.23E-1

1.23E-01

エスケープ文字

エスケープ シーケンスを指定する書式。 (12345).ToString("'\\'0,0") ¥12,345

' '

" "

リテラル文字列区切り記号

リテラル文字を指定する書式。

シングルクォートまたはダブルクオートで囲まれた文字列はそのまま表示される。

(12.3456).ToString("0.0'%'") 12.3%
;

セクション区切り記号

値が正数、負数、ゼロの時で書式を変えたい場合に使用する書式。

";" が一つの場合は始めの書式が正数とゼロ用、二番目の書式が負数用。

";" が二つの場合は始めの書式が正数用、二番目が負数用、三番目がゼロ用。

(123).ToString("0;[0];ゼロ")

(-123).ToString("0;[0];ゼロ")

(0).ToString("0;[0];ゼロ")

123

[123](※3

ゼロ

その他 上記以外の全ての文字 その他の文字は表示され、書式設定には影響しない。 (123).ToString("0個") 123個

※1 小数部の丸めは四捨五入で行われます。

※2 除算後の丸めは四捨五入で行われます。

※3 マイナス記号は削除されます。

関連記事
関連記事はありません。
外部リンク
- 記事検索 -