24

小数値から整数部分と小数部分を抽出しようとしています (両方の部分が整数である必要があります)。

decimal decimalValue = 12.34m;
int integral = (int) decimal.Truncate(decimalValue);
int fraction = (int) ((decimalValue - decimal.Truncate(decimalValue)) * 100);

(私の目的では、小数変数には小数点以下 2 桁までが含まれます)

これを達成するためのより良い方法はありますか?

4

5 に答える 5

26
       decimal fraction = (decimal)2.78;
        int iPart = (int)fraction;
        decimal dPart = fraction % 1.0m;
于 2015-04-30T09:35:33.340 に答える
3
decimal fraction = doubleNumber - Math.Floor(doubleNumber) 

またはそのようなもの。

于 2015-06-08T13:38:11.177 に答える
2

どうですか:

int fraction = (int) ((decimalValue - integral) * 100);
于 2012-05-22T12:42:34.057 に答える
1

分数を取り出すには、次のソリューションを使用できます。

Math.ceil(((f < 1.0) ? f : (f % Math.floor(f))) * 10000)
于 2015-06-24T01:34:39.213 に答える