我很难计算双值的百分比。我写了下面的代码,但它总是显示“0”。可能是什么问题?
double percent = 80; //Percent
double toCalc = 1/1000000; //1 uAmper
MessageBox.Show((toCalc * (percent / 100F)).ToString());
感谢。
答案 0 :(得分:2)
1/1000000
需要作为浮点除法执行。我会这样写:
1.0/1000000.0
您编写它的方式,除法将作为整数除法执行,然后提升为浮点值。整数除法结果为0,这解释了您所看到的内容。
答案 1 :(得分:1)
这一行错了:
double toCalc = 1/1000000; //1 uAmper
因为您要为toCalc
分配0。这就是为什么它总是显示零。
您应该将其更改为
double toCalc = 1/1000000d;
那是因为它首先计算1/1000000,对于整数类型,计算结果为0.然后,它被转换为double,但它仍为0.