C# 小数千位分隔符和小数点
我在网上搜索了几个小时,但找不到我的答案。我需要当用户在文本框中键入或复制任何数字时,该数字应遵循以下规则:C# 小数千位分隔符和小数点,c#,string,decimal,C#,String,Decimal,我在网上搜索了几个小时,但找不到我的答案。我需要当用户在文本框中键入或复制任何数字时,该数字应遵循以下规则: 只允许有一个小数点 千分位 应删除尾随零。我的意思是小数点后的零不应该显示 更新 比如说, 123=>123 1234.00=>1234 123456.05=>123456.05 123456.50=>123456.5 我如何才能做到这一点?最简单的方法是尝试将值解析为数字 decimal value; if(decimal.TryParse(textBox.Text, out valu
我如何才能做到这一点?最简单的方法是尝试将值解析为数字
decimal value;
if(decimal.TryParse(textBox.Text, out value)
{
//value is ok
textBox.Text = string.Format("{0}", value);//If you want some fancier formatting
}
else
{
//Value is not valid
}
嗯,你为什么不假设人类有能力输入一个数字呢。世界上绝大多数人口都知道如何做到这一点。尊重他们,他们会回报你的。只有在他输入后,才可以使用验证事件进行检查。您能清楚地知道确切的格式吗?请给出一个确切的例子,说明它应该是什么样子。例如,你说“千位分隔符”,但是哪一位?逗号?你也可以试试MaskedTextBox,我想它是用来限制用户输入的。我更新了我的问题并给出了一些例子。你为什么需要这个?如果您需要将其存储在某个位置,那么只要您可以将文本解析为十进制,您就可以进行任何格式设置。最好使用
decentral
,否则,一些条目将被更改为稍有不同的数字,因为double
无法准确存储所有十进制数字。我应该如何设置格式,以便根据需要显示它?@MohsenJafari将“string.format”更改为:Juharr:fixed。