我正在尝试编写一个计算器,将一个文本框中的小数乘以另一个文本框中的数字,并将结果显示在另一个文本框中。请参阅下文,了解我到目前为止的情况。
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 = "";
}
}
答案 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;