通过减法丢失两个小数位

时间:2011-12-25 22:44:10

标签: c# math

我试图减去两个数字并得到带有两个小数位的十进制数的结果,但是当减法发生时,我得到全数,没有任何小数。 这是我正在尝试的:

int totalMiles = 1001;
decimal total_used = 0.0M, total_gallons_used = 0.0M;
total_gallons_used = (totalMiles / 46);

如果计算正确完成,我需要收到21,76的结果,但我只得到21为total_gallons_used。

知道我做错了什么吗?

1 个答案:

答案 0 :(得分:10)

那是因为你正在执行整数division(两个操作数是整数)。您可能想要执行实数除法(一个或两个操作数是实数):

total_gallons_used = (totalMiles / 46M);

现在结果将是一个实数。