如何在C#计算器中防止双小数

时间:2014-05-12 01:19:28

标签: c# calculator number-formatting

我正在用C#开发一个计算器,我有一个按钮,在数字中插入一个小数点。我遇到了一个问题,它允许用户在界面中插入多个小数点,这会抛弃一切。我做了这个小小的陈述:

if ((number % 1) > 0)
{
    richTextBox1.Text = richTextBox1.Text + "";
}
else
{
    richTextBox1.Text = richTextBox1.Text + ".";
}

除了它什么都不做!有人请告诉我一种方法,通过修改这个陈述只允许一个小数点吗?

2 个答案:

答案 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时触发。