【问题标题】:C# if statement and decimal variable is less than 1 and greater than 0 [duplicate]C#if语句和十进制变量小于1且大于0 [重复]
【发布时间】:2021-05-07 07:19:37
【问题描述】:

我是编程新手,我发现如果你在处理金钱问题,那么使用小数点会更好。我注意到如果我使用类似的 if 语句,

if (salePrice < 0.01)

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

【问题讨论】:

标签: c# if-statement decimal


【解决方案1】:

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

//This works
if (salePrice < 0.01m)

有关详细信息,请参阅documentation

【讨论】:

  • 如果你对“Why m?”感到好奇,它代表money
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-09-27
  • 1970-01-01
  • 2017-10-25
  • 1970-01-01
  • 1970-01-01
  • 2020-11-05
相关资源
最近更新 更多