【发布时间】:2012-09-15 04:50:06
【问题描述】:
我正在尝试划分 DriveInfo.AvailableFreeSpace 和 DriveInfo.TotalSize 的值,以尝试获取其中的百分比以在进度条中使用。
我需要结束值是一个 int,因为 progressbar.value 需要一个 int 并且上述方法返回一个 long。
我有这个作为值:
164660715520---AvailableFreeSpace
256058060800---总尺寸
当我尝试使用此方法设置 progressbar.value 时,我也收到错误:
progressBar1.Value=(int)(dInfo.AvailableFreeSpace/dInfo.TotalSize)*100;
当我使用此代码尝试获取一个值时,它只返回一个 0。
label10.Text = (((int)dInfo.AvailableFreeSpace/dInfo.TotalSize)*100).ToString();
我什至试过这个,但它不起作用:
label10.Text = ((dInfo.AvailableFreeSpace/dInfo.TotalSize)*100).ToString();
我知道我仍然需要进行一些格式化才能让它看起来不错,但是每当我运行代码时它只会返回一个 0。
会不会跟long到int的转换有关?
【问题讨论】:
-
164660715520/256058060800的值为0.64。这就是我想你得到 0 的原因。
标签: c# casting int long-integer