以前、PHP で「PHPの丸め処理(切捨て・切り上げ・四捨五入)」を調べていたので、ついでに C# ではどうなのか確認してみました。

PHPの丸め処理(切捨て・切り上げ・四捨五入)PHP を使っていて、数値を切り上げたい場面に遭遇。
もちろん PHP にも数値を丸める関数は揃っています。
整数へ丸める
2.4 の数...
C# は小数点以下も Math クラス内のメソッドで対応してくれているので楽です。
Math クラスの Round メソッドの引数には、「decimal 型の対象の数値」「丸めたい小数点」「丸め方(四捨五入の他に最近接偶数への丸めがある)」の 3 つが必要になります。
サンプルコード
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | using System; namespace sisha { class Program { static void Main(string[] args) { // 小数点第2位を四捨五入 decimal d1 = Math.Round(12.345m, 1, MidpointRounding.AwayFromZero); Console.WriteLine(d1); // 12.3 // 小数点第3位を四捨五入 decimal d2 = Math.Round(12.345m, 2, MidpointRounding.AwayFromZero); Console.WriteLine(d2); // 12.35 } } } |
また、切り捨てや切り上げも Math クラスにメソッドが用意されています。
1 2 3 4 | // 切り捨て decimal d1 = Math.Floor(12.345m); // 切り上げ decimal d2 = Math.Ceiling(12.345m); |