gpt4 book ai didi

c# - 我不能在文本框中写小数

转载 作者:行者123 更新时间:2023-11-30 21:36:24 26 4
gpt4 key购买 nike

我有一个使用十台计算机的 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);
}

它在我的电脑上运行良好。在某些计算机上,当使用点书写数字时,程序不会检测到点。在某些计算机上,程序既不检测点也不检测逗号。

我希望所有的计算机都能写十进制数。我该怎么做?

最佳答案

使用它独立于 PC 区域设置:

str = string.Format(CultureInfo.InvariantCulture, "{0}", d); // decimal to string
d = decimal.Parse(str, NumberStyles.Any, CultureInfo.InvariantCulture); // string to decimal

关于c# - 我不能在文本框中写小数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48263009/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com