C#
 Computer >> コンピューター >  >> プログラミング >> C#

C#で数値をカンマ区切り(3桁ごとの1000の区切り文字)で出力する方法

C#では、大きな数値を見やすく表示するために、ToString()メソッドを使って3桁ごとにカンマを挿入できます。本記事では、小数点以下を含む数値を「1,000,000.8765」のような形式で整形する手順を、具体的なコード例とともに解説します。

基本的な考え方

まず、対象となる数値を文字列として用意します。

string num = "1000000.8765";

次に、整数部分(小数点より前)と小数部分(小数点以降)をそれぞれ別の変数に分けて扱います。

string withoutDecimals = num.Substring(0, num.IndexOf("."));
string withDecimals = num.Substring(num.IndexOf("."));

ToString("#,##0") による書式指定

整数部分に対してToString("#,##0")という書式指定子を使用すると、3桁ごとにカンマが自動的に挿入されます。

ToString("#,##0")

この書式は標準的な数値フォーマットであり、負の数やより大きい桁数にも対応します。なお、小数部分はそのまま文字列として連結するため、元の精度が保たれます。

サンプルコード全体

以下が、カンマを1000の区切り文字として数値を表示する完全なコード例です。

using System;
public class Program {
    public static void Main() {
        string num = "1000000.8765";
        // 整数部分を取得
        string withoutDecimals = num.Substring(0, num.IndexOf("."));
        // 小数部分を取得
        string withDecimals = num.Substring(num.IndexOf("."));
        // 整数部分にカンマ区切りの書式を適用
        withoutDecimals = Convert.ToInt32(withoutDecimals).ToString("#,##0");
        Console.WriteLine(withoutDecimals + withDecimals);
    }
}

実行結果

1,000,000.8765

補足:よりシンプルな代替手段

もし数値が最初から decimal 型や double 型として扱える場合は、文字列の分割処理を行わずに、次のように一括で書式化するのがおすすめです。

decimal value = 1000000.8765m;
Console.WriteLine(value.ToString("#,##0.####"));

この方法なら、小数点以下の桁数も柔軟に制御でき、コードも簡潔になります。用途に応じて使い分けるとよいでしょう。

  1. Pythonで数値を3桁ごとにカンマ区切りして出力する方法

    3桁以上の数値を扱う際には、読みやすさのためにカンマで桁区切りを行いたい場面が多くあります。特に会計業界や金融分野では、1,000単位ごとにカンマを挿入した表記は事実上の標準となっています。この記事では、Pythonを使って数値の適切な位置にカンマ(桁区切り文字)を挿入する方法を解説します。 format関数による桁区切り Pythonのformat関数(f文字列)では、次のような書式指定子を使うことで、カンマ区切りの表示を簡単に実現できます。 (f{num:,d}) # 「:」以降が書式指定子 # 「,」が桁区切り文字(カンマ) # 「d」は10進整数であることを示す指定 ポイントは「,」の

  2. 【Java】文字列(String)をintに変換する方法をサンプルコード付きで解説

    Javaで文字列(String)を数値(int)に変換したい場面は非常によくあります。文字列が数字のみで構成されている場合は、Integer.parseInt() または Integer.valueOf() を使うのが最も簡単かつ確実な方法です。 一方、文字列の中に数字と英字が混在している場合は、正規表現を使ってまず数字部分だけを取り出し、その結果得られた文字列をintに変換するという手順が必要になります。 ここで押さえておきたい重要なポイントがあります。parseInt(String) はプリミティブ型の int を返すのに対して、valueOf(String) は Integer オブジ