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

本文关键字:小数 计算器 | 更新日期: 2023-09-27 18:02:44

我正在开发一个c#计算器,我有一个按钮,插入小数点到数字。我遇到了一个问题,它允许用户在界面中插入多个小数点,这就把所有东西都弄乱了。我编写了这个小语句:

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

除了它什么都不做!谁能告诉我怎么修改这个语句只允许一个小数点?

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

onButtonToInsertDecimalClick
    if richTextBox1.Text.Contains(".")
        return;
    else
        ... rest of code

这个(伪代码)不能工作吗?

你试过使用Double吗?直接TryParse ?

if(Double.TryParse(richTextBox1.Text, myDoubleValue) == false)
    richTextBox1.Text = lastGoodValue;
else
    lastGoodValue = richTextBox1.Text;

也将通过TryParse为实际的双变量提供正确的结果。只要每次发生richTextBox1。文本更改时,更正码也应该使双精度值保持良好,因为它将在文本恢复为lastGoodValue时触发。