首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在C#计算器中防止双小数

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

Stack Overflow用户
提问于 2014-05-12 09:19:28
回答 2查看 1.2K关注 0票数 1

我正在用C#开发一个计算器,我有一个可以在数字中插入小数点的按钮。我遇到了一个问题,它允许用户在界面中插入多个小数点,这让一切都乱了套。我编造了这样一句话:

代码语言:javascript
运行
复制
if ((number % 1) > 0)
{
    richTextBox1.Text = richTextBox1.Text + "";
}
else
{
    richTextBox1.Text = richTextBox1.Text + ".";
}

除了它什么也做不了!有没有人能告诉我一种只允许一个小数点的方法来修正这个语句?

EN

回答 2

Stack Overflow用户

发布于 2014-05-12 09:25:05

代码语言:javascript
运行
复制
onButtonToInsertDecimalClick

    if richTextBox1.Text.Contains(".")
        return;

    else
        ... rest of code

这(伪代码)不会起作用吗?

票数 5
EN

Stack Overflow用户

发布于 2014-05-12 10:13:59

你有没有尝试过直接使用Double.TryParse?

代码语言:javascript
运行
复制
if(Double.TryParse(richTextBox1.Text, myDoubleValue) == false)
    richTextBox1.Text = lastGoodValue;
else
    lastGoodValue = richTextBox1.Text;

这也将通过TryParse给出实际的双精度变量正确的结果。只要每次time TextBox1.Text更改时都会发生这种情况,校正代码也应该会使双精度值保持良好,因为它会在文本恢复为lastGoodValue时触发。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23599714

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档