C#
Decimalの小数点以下の丸め方法をフレキシブルにできるようにした
出典: 【C#】Decimalからintに変換する拡張メソッドを作ってみた — Decimalの小数点以下の丸め方法をフレキシブルにできるようにした
static class DecimalExtension
{
public static int ToInt(this decimal dec, ParseType type = ParseType.四捨五入)
{
var roundedDec = default(Decimal);
switch (type)
{
case ParseType.切り上げ:
roundedDec = Math.Ceiling(dec);
break;
case ParseType.切り捨て:
roundedDec = Math.Floor(dec);
break;
default:
roundedDec = Math.Round(dec, MidpointRounding.AwayFromZero);
break;
}
return decimal.ToInt16(roundedDec);
}
}
▸ この snippet は実行結果未収録
▸ 実行結果は未収録です
Source収録記事
この snippet は記事の「Decimalの小数点以下の丸め方法をフレキシブルにできるようにした」セクションに登場する。コードの前後の文脈・ハマりどころの解説は記事本文で。
同じ記事から
4 件static class DecimalExtension { public static int ToInt(this decimal dec) {未収録
拡張メソッドにしてみた
#b905bd1eaf03
// => 1 Console.WriteLine(((decimal)1.1111).ToInt()); // => 1
▶ 実行可
問題点は小数点以下の丸め方法
#8fc8bb304e09
public enum ParseType { 四捨五入 = 1, 切り捨て,未収録
Decimalの小数点以下の丸め方法をフレキシブルにできるようにした
#cc20e50580bd
// => 2 Console.WriteLine(((decimal)1.5).ToInt(ParseType.切り上げ)); // => 1
▶ 実行可
Decimalの小数点以下の丸め方法をフレキシブルにできるようにした
#e4a00beac695
