如何防止"可能的分数损失"?

B. *_*non 2 c# resharper fractions

使用此代码(QtyShipped和QtyOrdered是整数,_percentageOfQtyShipped是双精度):

_percentageOfQtyShipped = frbdcbl.QtyShipped / frbdcbl.QtyOrdered;
Run Code Online (Sandbox Code Playgroud)

...我得到了一些"div by 0"错误,所以我重构了它:

double _percentageOfQtyShipped = 0.0;
if ((frbdcbl.QtyShipped != 0) && (frbdcbl.QtyOrdered != 0))
{
    _percentageOfQtyShipped = frbdcbl.QtyShipped/frbdcbl.QtyOrdered;
}
Run Code Online (Sandbox Code Playgroud)

......但现在我收到了来自Resharper的警告," 可能会失去分数 "

然而,与Resharper通常的方法相反,它没有提供修复它的方法(而不是在标记的代码行的阴沟中的黄色灯泡,我得到一个灰色的扳手); 那么我需要对此代码进行哪些更改以防止"可能丢失分数"?

UPDATE

我使用了Secret Agent Man#1666620的代码,并乘以100来获得62.5而不是0.625之类的值,如下所示:

double _percentageOfQtyShipped = 0.0;
if ((frbdcbl.QtyShipped != 0) && (frbdcbl.QtyOrdered != 0))
{
    _percentageOfQtyShipped = (frbdcbl.QtyShipped / (double)frbdcbl.QtyOrdered)*100;
}
Run Code Online (Sandbox Code Playgroud)

use*_*620 8

当你划分两个整数时,结果也将是一个整数,所以你会失去分数.然后将得到的整数值分配给您的double.要解决这个问题,您需要将其中一个int转换为double.

_percentageOfQtyShipped = frbdcbl.QtyShipped/(double)frbdcbl.QtyOrdered;
Run Code Online (Sandbox Code Playgroud)