c# - 如何处理小数

c# - How to deal with decimal

我有一个 numericUpDown 并将属性的小数位设置为 3,所以它变成了 0.000

这是代码

Decimal inputGrossWeight = numGrossWeight.Value;

if (inputGrossWeight = 0.000)
{
    MessageBox.Show("Gross Weight must be filled!");
}
else 
{
   Data newData = new Data();
   newData.grossWeight = inputGrossWeight;
}

注:

然后我将其存储到数据类型为 float

的数据库中

所以当用户输入 2.365 时,它也会存储到数据库 2.365。

我试过很多方法,但都出现错误:

Cannot implicitly convert type 'decimal' to 'double'. An explicit conversion exists (are you missing a cast?)

Literal of type double cannot be implicitly converted to type 'decimal'; use an 'M' suffix to create a literal of this type

我的代码有什么问题?

您正在尝试在 if 语句中赋值。

不如试试这个

if (inputGrossWeight == 0m)

正如 Jon Skeet 在他的评论中提到的,通过添加 m,您可以确保您使用的是 decimal 字面量,从而将苹果与苹果进行比较。