こんにちは私はc#の初心者です。誰かがこのコードの値を倍精度または丸められた10進数に変換する方法を誰かに丁寧に教えてくれます。
DataTable dtValues = new DataTable("GetValues");
strValueNumber = ValueNumber[0].ToString();
dtGetValues = SQLMethods.GetValues(strValueNumber);
total = 0;
for (int i = 0; i < dtValues.Rows.Count; i++)
{
total1 = total1 + Convert.ToInt32(dtGetValues.Rows[i]["total_1"]);
total2 = total2 + Convert.ToDouble(dtGetValues.Rows[i]["total_2l"]) * .45;
tbtotal1.Text = total1.ToString();
tbtotal2.Text = total2.ToString();
}
}
catch (Exception ex)
{
MessageBox.Show("Error in returning selected Values. " +
"Processed with error:" + ex.Message);
}
}
使用する - Math.Round
Math.Round(mydoublevalue, 2);
あなたのコードで
tbtotal2.Text = Math.Round(total2, 2).ToString();
値を文字列として表示するために丸めるだけの場合は、 String.Format を使用することもできます。
tbtotal1.Text = String.Format("{0:0.##}", total1);
テキスト「{0:0。##}」は、そのフォーマット方法を説明しています。 #は、末尾のゼロを含めないことを示します(たとえば、1.2は文字列 "1.2"のままです)。代わりに "{0:0.00}"を実行すると、小数点以下2桁が含まれるため、ダブル1.2は "1.20"になります。 」.
私の答えはかなり遅いですが、私のようなそこにいたい人のために:
double/decimalおよびに変換するには、値に常に小数点以下2桁を表示したい(.00)asString
tbtotal2.Text = Math.Round(total2, 2).ToString("#.00");
以下は、常に小数点以下2桁を意味します。
"#.00"
値がある場合、以下は小数点以下2桁を意味します。
"#.##"
このようにしてください。
tbtotal1.Text = Math.Round(double.Parse(total1.ToString()), 2).ToString();
tbtotal2.Text = Math.Round(double.Parse(total2.ToString()), 2).ToString();
inputValue = Math.Round(inputValue、2);