-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であっても整数値に丸められます。さらに、も整数の場合、整数除算があります。最終的に、変数の値は、操作の結果よりも小さい最大の整数に丸められます。パーセントが必要なため、おそらく 0 になります。それを避けるために、まず除算後に実数を取得し、その数に100を掛けるようにしてください。次のようなものを使用してください。TestP1.corAnsfloatdoubleTestP1.corAnsvalue

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 に答える