Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/330.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 将数字格式化为字符串,用点代替小数,而不考虑区域性_C#_Winforms_Number Formatting - Fatal编程技术网

C# 将数字格式化为字符串,用点代替小数,而不考虑区域性

C# 将数字格式化为字符串,用点代替小数,而不考虑区域性,c#,winforms,number-formatting,C#,Winforms,Number Formatting,WinForms,我有一个textbox leave事件,在textbox中提示用户添加价格示例: 他需要在文本框中提供价格,比如说他只写了5个,文本框离开事件应该让他得到5.00,并且它正在工作,但是在使用其他区域性的其他计算机上有一个问题,例如在我遇到问题点的那台计算机上。这被视为逗号this,“如果用户提示5.43他将得到543,00而不是5.43或5他将得到逗号。我需要让每一台计算机,无论是哪种文化,只在这一点上工作 这是我的密码: decimal number = 0; if (Dec

WinForms,我有一个textbox leave事件,在textbox中提示用户添加价格示例:

他需要在文本框中提供价格,比如说他只写了5个,文本框离开事件应该让他得到5.00,并且它正在工作,但是在使用其他区域性的其他计算机上有一个问题,例如在我遇到问题点的那台计算机上。这被视为逗号this
,“
如果用户提示
5.43
他将得到
543,00
而不是
5.43
5
他将得到逗号。我需要让每一台计算机,无论是哪种文化,只在这一点上工作 这是我的密码:

decimal number = 0;
if (Decimal.TryParse(textBox20.Text, out number))
{
   textBox20.Text = Decimal.Parse(textBox20.Text).ToString("0.00");
}
else
{
   textBox20.Text = "0.00";
}

只需使用
decimal.TryParse
重载,该重载接受
IFormatProvider
,并指定不变区域性。然后将其用于格式化。(我假设您希望它在解析和格式化时都被一致地视为“小数点分隔符”。)

哦,只解析一次-为什么要解析两次

decimal number = 0;
if (Decimal.TryParse(textBox20.Text, NumberStyles.Number,
                     CultureInfo.InvariantCulture, out number))
{
    textBox20.Text = number.ToString("0.00", CultureInfo.InvariantCulture);
}
else
{
    textBox20.Text = "0.00";
}
鉴于0也将以这种方式格式化,您甚至不需要任何条件:

decimal number;
decimal.TryParse(textBox20.Text, NumberStyles.Number,
                 CultureInfo.InvariantCulture, out number);
textBox20.Text = number.ToString("0.00", CultureInfo.InvariantCulture);

在这种情况下,我们不关心
TryParse
的返回值,因为如果它失败,
number
将为0,这很好…

可能重复这是一个完全不同的问题不重复Jon Skeet我添加了一个问题请回答我确定你是可以回答我问题的人。链接:@user3144640:请不要只问其他问题就留言。想象一下,如果每个认为我可能能够回答他们问题的人都这样做。