C#if语句和十进制变量小于1大于0

C# if statement and decimal variable is less than 1 and greater than 0

我是编程新手,发现如果您要处理金钱问题,最好使用小数。我注意到如果我使用像

这样的 if 语句

if (salePrice < 0.01)

如果 salePrice 是小数,则不起作用,因为 .01 表示双精度浮点数。如果我将所有内容都更改为加倍,它确实有效。但是,我需要将所有内容都保留为小数,据我所知,你真的不能将小数与双精度混合使用。将它设置为 if (salePrice == 0) 仍然会显示 0.00 美元,因为我想要的是 itemCost - (itemCost * 99.99...%)。有什么办法解决这个问题,还是我坚持使用 if (salePrice < 1)

使用 'm' 后缀指定它是小数,而不是浮点数或双精度数:

//This works
if (salePrice < 0.01m)

有关详细信息,请参阅 documentation