2013-04-08 40 views
-1

我想从一个变量中获取一个progessbar(在C#中)的值,除以52,并乘以100.这是我有的代码,任何修复它的建议?进度条C#变量

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

到底是什么问题? – 2013-04-08 12:21:29

+0

什么是TestP1.corAns?什么不行? (PS你是3秒前哈哈) – joell 2013-04-08 12:21:32

+0

你需要循环它来保持更新进度条。 – Shaharyar 2013-04-08 12:21:42

回答

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) + "%";