请帮助在Windows窗体计算器
本文关键字:窗体 计算器 Windows 帮助 | 更新日期: 2023-09-27 18:10:07
我是初学者,我已经在c# (Windows窗体)中制作了计算器,只有一个问题发生,所以请帮助我。
问题是当我除以0/0 =时,我的代码在这一行崩溃了
m_res /= decimal.Parse(m_store[i + 1].ToString());
else if (m_store[i].ToString() == "/")
{
//Textbox.Text = "";
m_res /= decimal.Parse(m_store[i + 1].ToString());
TextBox2.Text = m_res.ToString();
}
你可能想要的是
decimal div;
decimal.TryParse(m_store[i + 1].ToString(), out div);
if(div != null && div != 0)
m_res /= div;
基本数学定义了没有什么能被0整除
EDIT:没有测试过,但我认为它会工作,更有效率
decimal div;
if(decimal.TryParse(m_store[i + 1].ToString(), out div) && div != 0)
m_res /= div;
问题是你永远不能除以零。
试试这样写:
decimal d = decimal.Parse(m_store[i + 1].ToString());
if (d.Equals(0))
MessageBox("Cannot divide by zero");
else
mres /= d;
提示:
要避免除零异常,显然必须检查分母对零值
:
这个数字检查将比抛出异常快得多