带括号的计数规则c#

本文关键字:规则 | 更新日期: 2023-09-27 17:53:07

这可能是一个愚蠢的问题,但我试着在这样的价格上计算折扣:

newAllaVaror.Pris = System.Convert.ToDouble(
           (1 - (clientKampanj.VisaKampanj(vara.ProduktNamn) / 100)) * vara.Pris
).ToString();

它在现实中看起来像这样(1-(20/100)*7.99),但我现在的输出是7.99,但它应该是6,392..因为原价是7.99…我试图移动括号,但我只得到1然后…

c#通过括号的顺序是什么,因为这应该是正确的?

带括号的计数规则c#

我很确定你在做一个整数除法:

 (clientKampanj.VisaKampanj(vara.ProduktNamn) / 100)

因此,如果您有20/100,它将导致0而不是预期的0.2,因为提醒被截断了。

需要转换为双精度,其中一个操作数:

 (clientKampanj.VisaKampanj(vara.ProduktNamn) / 100.0)

由于@Scott指出您的其他变量是decimal类型,您需要将其中一个操作数转换为该类型:

 (clientKampanj.VisaKampanj(vara.ProduktNamn) / 100.0m)