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。
我是编程新手,发现如果您要处理金钱问题,最好使用小数。我注意到如果我使用像
这样的 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。