-2

我正在尝试从我当前拥有的变量中获取 progessbar(在 C# 中)的值,除以 52,然后乘以 100。这是我的代码,有什么建议可以解决吗?

int value;             
value = TestP1.corAns / 52 * 100;             
ProgressBar pBar = new ProgressBar();            
pBar.Value = value;             
label2.Text = Convert.ToString(value) + "%";
4

1 回答 1

1

Valueint可变的,因此TestP1.corAns / 52即使TestP1.corAns是实数(floatdouble)也会四舍五入到某个整数值。此外,如果TestP1.corAns也是整数,您将进行整数除法。最终,value变量的值将四舍五入为最大整数,小于您的操作结果,大概为 0,因为您需要百分比。为了避免这种情况,首先确保在除法后得到实数,然后将该数字乘以 100。使用如下所示:

double value;             
value = TestP1.corAns / 52.0 * 100.0;             
ProgressBar pBar = new ProgressBar();            
pBar.Value = (int)value;             
label2.Text = Convert.ToString(value) + "%";
于 2013-04-08T12:27:04.037 回答