我在计算两个十进制数时遇到问题。
基本上,我正在尝试使用克来多次盎司。我有两个文本框,第一个应该包含盎司(例如 3,5 ),而第二个应该显示相同的值,但以克为单位。因此,盎司应乘以 31.1034768 ,结果应显示在第二个文本框中。
我一直在尝试用许多不同的方式计算这两个,但它们都没有真正起作用。这是我最后一次不成功的尝试:
private void btn_Calculate_Click(object sender, EventArgs e)
{
decimal oz = Convert.ToDecimal(txt_WeightOz.Text);
decimal ozingrams = 31.1034768M;
decimal result = Decimal.Multiply(oz, ozingrams);
txt_WeightGrams.Text = Convert.ToDecimal(result);
}
它说我不能隐式地将类型'decimal'转换为'string'。
我该如何处理这个问题?
答案 0 :(得分:6)
将结果转换为字符串,如此;
txt_WeightGrams.Text = result.ToString();
答案 1 :(得分:1)
首先,您无需将decimal
转换为decimal
,其次Text
属于string
属性,因此您需要将result
转换为string
txt_WeightGrams.Text = Convert.ToDecimal(result);
,所以请替换:
txt_WeightGrams.Text = result.ToString();
用这个:
{{1}}
答案 2 :(得分:1)
它说我不能隐式地将类型'decimal'转换为'string'。
是的,您需要将结果转换为字符串,如下所示:
txt_WeightGrams.Text = result.ToString();
答案 3 :(得分:0)
文本框只能显示“字符串”,因此您需要在文本框中显示之前进行转换。 做这个
txt_WeightGrams.Text = Convert.ToString(result);
或
txt_WeightGrams.Text = result.ToString();
而不是
txt_WeightGrams.Text = Convert.ToDecimal(result);