お金の単位等の数字を3桁でカンマで区切って表示させたい時がある。
その場合、C#では、以下のように書く。(VBもほぼ同じ)
1 2 3 4 5 6 7 8 9 |
int val = 1234567890; //ToStringメソッド val.ToString("#,0"); //静的Formatメソッド String.Format("{0:#,0}",val); //出力はどちらも //1,234,567,890 |
注意点として、int型などの整数値でなく、実数であるdobuleなどの場合、小数点以下が四捨五入され、1桁目が変わる。(なぜか勝手に四捨五入・・・)
四則演算で金額をだして、最後に小数点以下切り捨てを期待する場合は注意。
1 2 3 4 5 6 |
double d_val = 1234.5; d_val.ToString("#,0"); String.Format("{0:#,0}", d_val); //出力は1,235 |
ちなみに、日本円っぽく4桁位で区切りたいとかの場合も、できることはできるらしい。
NumberFormatInfo.NumberGroupSizes