c# - 从文本框计算十进制数

时间:2013-11-28 16:08:07

标签: c# decimal multiplying

我在计算两个十进制数时遇到问题。

基本上,我正在尝试使用克来多次盎司。我有两个文本框,第一个应该包含盎司(例如 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'。

我该如何处理这个问题?

4 个答案:

答案 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);