我正在用C#开发一个计算器,我有一个可以在数字中插入小数点的按钮。我遇到了一个问题,它允许用户在界面中插入多个小数点,这让一切都乱了套。我编造了这样一句话:
if ((number % 1) > 0)
{
richTextBox1.Text = richTextBox1.Text + "";
}
else
{
richTextBox1.Text = richTextBox1.Text + ".";
}除了它什么也做不了!有没有人能告诉我一种只允许一个小数点的方法来修正这个语句?
发布于 2014-05-12 09:25:05
onButtonToInsertDecimalClick
if richTextBox1.Text.Contains(".")
return;
else
... rest of code这(伪代码)不会起作用吗?
发布于 2014-05-12 10:13:59
你有没有尝试过直接使用Double.TryParse?
if(Double.TryParse(richTextBox1.Text, myDoubleValue) == false)
richTextBox1.Text = lastGoodValue;
else
lastGoodValue = richTextBox1.Text;这也将通过TryParse给出实际的双精度变量正确的结果。只要每次time TextBox1.Text更改时都会发生这种情况,校正代码也应该会使双精度值保持良好,因为它会在文本恢复为lastGoodValue时触发。
https://stackoverflow.com/questions/23599714
复制相似问题