我正在用C#开发一个计算器,我有一个按钮,在数字中插入一个小数点。我遇到了一个问题,它允许用户在界面中插入多个小数点,这会抛弃一切。我做了这个小小的陈述:
if ((number % 1) > 0)
{
richTextBox1.Text = richTextBox1.Text + "";
}
else
{
richTextBox1.Text = richTextBox1.Text + ".";
}
除了它什么都不做!有人请告诉我一种方法,通过修改这个陈述只允许一个小数点吗?
答案 0 :(得分:5)
onButtonToInsertDecimalClick
if richTextBox1.Text.Contains(".")
return;
else
... rest of code
这个(伪代码)不起作用吗?
答案 1 :(得分:0)
您是否尝试过直接使用Double.TryParse?
if(Double.TryParse(richTextBox1.Text, myDoubleValue) == false)
richTextBox1.Text = lastGoodValue;
else
lastGoodValue = richTextBox1.Text;
这也将通过TryParse为您的实际双变量提供正确的结果。只要每次richTextBox1.Text发生更改时都会发生这种情况,修正代码也应该使double值保持良好状态,因为它会在Text恢复为lastGoodValue时触发。