数値を切り捨てするには、Math.FloorまたはMath.Truncateを使用します。
FloorとTruncateの違い
FloorとTruncateは正数(プラス値)の場合は結果は変わりませんが、
負数(マイナス値)の場合に以下のように結果が変わります。
- Math.Floor:より小さい値へ向けて切捨てをする
(例)-123.45 → -124 - Math.Truncate:小数値を取り除く事で切捨てをする
(例)-123.45 → -123
Math.Floorによる切捨て
例)Math.Floorによる切捨てサンプル
//元の数値
double a = 123.987;
double b = -123.987;
//小数点以下を切り捨てる
double x = Math.Floor(a);
x → 123
//小数第2位以下を切り捨てる
double x = Math.Floor(a*10)/10;
x → 123.9
//小数第3位以下を切り捨てる
double x = Math.Floor(a*100)/100;
x → 123.98
//小数点以下を切り捨てる(マイナス値)
double x = Math.Floor(b);
x → -124
Math.Truncateによる切捨て
例)Math.Truncateによる切捨てサンプル
//元の数値
double a = 123.987;
double b = -123.987;
//小数点以下を切り捨てる
double x = Math.Truncate(a);
x → 123
//小数第2位以下を切り捨てる
double x = Math.Truncate(a*10)/10;
x → 123.9
//小数第3位以下を切り捨てる
double x = Math.Truncate(a*100)/100;
x → 123.98
//小数点以下を切り捨てる(マイナス値)
double x = Math.Truncate(b);
x → -123
備考
- 数値の切捨てはMath.Foorまたは、Math.Truncateを使用します。
- 正数の場合は結果に違いはなく、負数の場合に結果に違いが生じます。