将文本框乘以十进制数

时间:2014-02-12 19:42:21

标签: c#

我正在尝试编写一个计算器,将一个文本框中的小数乘以另一个文本框中的数字,并将结果显示在另一个文本框中。请参阅下文,了解我到目前为止的情况。

public partial class Form1 : Form
{
    public Form1()
    {
        InitializeComponent();
        textBox3.Enabled = false;
    }

    private void button1_Click(object sender, EventArgs e)

    {
        float first;
        float second;
        float output;
        first = Convert.ToInt32(textBox1.Text);
        second = Convert.ToInt32(textBox2.Text);
        output = first * second;
        textBox3.Text = (output.ToString());
    }


    private void button2_Click(object sender, EventArgs e)
    {
        textBox1.Text = "";
        textBox2.Text = "";
        textBox3.Text = "";
    }
}

1 个答案:

答案 0 :(得分:-1)

使用decimal代替。您正在使用float并将值转换为int,为什么?

decimal first;
decimal second;
decimal output = 0.0m;
var b1 = decimal.TryParse(textBox1.Text, out first);
var b2 = decimal.TryParse(textBox2.Text, out second);
if(b1 && b2) output = first * second;
textBox3.Text = output.ToString();

而不是禁用文本框,请将其设为ReadOnly

更改此行:

textBox3.Enabled = false;

要:

textBox3.ReadOnly = true;