Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/326.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# C如果语句和十进制变量小于1且大于0_C#_If Statement_Decimal - Fatal编程技术网

C# C如果语句和十进制变量小于1且大于0

C# C如果语句和十进制变量小于1且大于0,c#,if-statement,decimal,C#,If Statement,Decimal,我是编程新手,我发现如果你在处理钱的问题,最好使用十进制。我注意到如果我使用if语句,比如 如果售价

我是编程新手,我发现如果你在处理钱的问题,最好使用十进制。我注意到如果我使用if语句,比如

如果售价<0.01


如果salePrice是一个十进制数,它将不起作用,因为.01代表一个双精度浮点数。如果我把所有的东西都改成两倍,它就行了。但是,我需要把所有的东西都保留为十进制,就我所知,你真的不能把十进制和双精度混为一谈。如果将其设置为if salePrice==0,则通过使用itemCost-itemCost*99.99…%仍将显示$0.00,这不是我想要的。有没有办法解决这个问题,或者如果salePrice<1,我会坚持吗?

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

//This works
if (salePrice < 0.01m)

有关更多详细信息,请参阅。

这是否回答了您的问题?如果你想知道为什么m?,它代表钱