我正在为Windows Phone开发一种计算器。
它不需要使用小数。 (谁需要.39的砖)
如何检测字符串或textBox中是否有小数?
编辑:谢谢,@ Bala R和@Afnan。但我所追求的是过滤掉字母的东西。我的回答如下。
答案 0 :(得分:2)
修改Bala R
代码
private void textBox1_TextChanged(object sender, EventArgs e)
{
if (textBox1.Text.Contains(".") || textBox1.Text.Contains(","))
textBox1.Text = textBox1.Text.Replace(".", string.Empty).Replace(",", string.Empty);
}
这将删除在写入输入时输入的无效字符
答案 1 :(得分:1)
你可以用它来查看字符串
中是否有“句号” bool hasDecimal = textBox.Text.Contains(".")
但是十进制值不止一个时期。
答案 2 :(得分:1)
我认为您需要检查该值是否为有效的十进制值。
使用TryParse方法:
decimal value;
string textValue = textBox.Text;
bool isDecimal = decimal.TryParse(textValue, out value)
答案 3 :(得分:0)
以下是我发现的最佳作品:
bool bNeedToUpdate = false;
StringBuilder szNumbersOnly = new StringBuilder();
TextBox textSource = sender as TextBox;
if (null == textSource)
{{ 1}}
return;
foreach (char ch in textSource.Text)
{
{{1} }
if (("0123456789").Contains(ch.ToString()))
{
szNumbersOnly.Append(ch);
}
< / p>
else
{
bNeedToUpdate = true;
}
}
if (bNeedToUpdate)
{
textSource.Text = szNumbersOnly.ToString();
我从论坛主持人Erin Fleck那里回答了这个问题,他回答了this类似的问题。
@Afnan得到了绿色支票,因为他/她/它回答了我原来的问题。