今天没事做,想到模仿windows的计算器...于是开工...
首先动手画好基本窗口...但是由于不知道windows计算器的"标准型"和"科学型"是2个form还是一个form(一个的话通过按钮改变控件坐标),如果是2个form的话是new新窗口还是hide呢?hide的话,若要退出程序,怎么同时关闭2个form?这些问题太麻烦.所以先做个简单的标准型的.....
在制作的时候,写了个监测是否为"0"的方法.
- private bool zero() //检验是否为0
- {
- /*
- if (label1.Text.IndexOf('.') == -1)
- {
- string[] str = label1.Text.Split('.');
- if (float.Parse(str[0]) == 0 && float.Parse(str[1]) == 0)
- {
- return true;
- }
- else
- {
- return false;
- }
- }
- else
- {
- if (label1.Text == "0.")
- {
- return true;
- }
- else
- {
- return false;
- }
- }
- */
- if (float.Parse(label1.Text) == 0)
- {
- return true;
- }
- else
- {
- return false;
- }
- }
注释掉那段是因为一开始不知道初始的"0."的那个"点"怎么处理,所以想办法处理掉了
后来发现居然可以不用处理....直接连带"0"和"点"一起转换为浮点数...
哎...编程少,现在才知道原来字符串中的点可以转换为浮点数的点....
于是再次异想天开
- string str = "3.1";
- float fl = float.Parse(str);
- Console.WriteLine(fl);
- str = "3.1.1";
- fl = float.Parse(str);
- Console.WriteLine(fl);
发现第二次输出报异常了
总结: 可以讲只带一个"点",也就是符合浮点数格式的字符串,转换为浮点数......
//我果然无聊....