2011-05-11 184 views
1

我很难计算双倍数值的百分比。我写了下面的代码,但它总是显示“0”。可能是什么问题?计算双倍数的百分比

 double percent = 80; //Percent 
     double toCalc = 1/1000000; //1 uAmper 

     MessageBox.Show((toCalc * (percent/100F)).ToString()); 

谢谢。

回答

2

1/1000000需要作为浮点除法执行。我会写这样的:

1.0/1000000.0 

你写它的方式,该司将作为整数除法来执行,然后晋升为浮点值。整数除法结果为0,这解释了你所看到的。

1

此行是错误的:

double toCalc = 1/1000000; //1 uAmper 

,因为你是toCalc分配0。这就是为什么它总是显示零。

您应将其更改为

double toCalc = 1/1000000d; 

这是因为它首先计算百万分之一,对于整数类型,计算结果为0。然后,它被转换为加倍,但它仍然是0。