【发布时间】:2018-01-15 12:25:43
【问题描述】:
我有一个使用十台计算机的 c# 程序。程序获取十进制数字作为输入。问题是在某些计算机上输入被写为 10.5,但是,程序将此逗号作为一个点。我不懂为什么。我使用程序中的“替换”命令将逗号转换为点。现在,无论是逗号还是点都不是为了在问题计算机中获得十进制输入而编写的。例如,我分享以下代码
一开始我的代码是这样的:
private void button1_Click(object sender, EventArgs e)
{
decimal number1 = Convert.ToDecimal(textBox1.Text);
decimal number2 = Convert.ToDecimal(textBox2.Text);
decimal result = number1 + number2;
textBox3.Text = Convert.ToString(result);
}
然后在某些计算机上,我注意到程序将用于写入十进制数字的逗号键识别为点。我不知道为什么。
我使用“替换”命令将数字中的逗号转换为点。
private void button1_Click(object sender, EventArgs e)
{
string text1 = textBox1.Text.Replace(".", ",");
string text2 = textBox2.Text.Replace(".", ",");
decimal number1 = Convert.ToDecimal(text1);
decimal number2 = Convert.ToDecimal(text2);
decimal result = number1 + number2;
textBox3.Text = Convert.ToString(result);
}
它可以在我的电脑上运行。在某些计算机上,当使用点写入数字时,程序不会检测到点。在某些计算机上,程序既不检测点也不检测逗号。
我希望所有的计算机都能写十进制数。我该怎么做?
【问题讨论】: