fanage 2016-03-27 10:05 采纳率: 0%
浏览 1970

C#运行时出现错误,求大神指点

“System.FormatException”类型的未经处理的异常在 mscorlib.dll 中发生

其他信息: 输入字符串的格式不正确。

为什么doubleparse那里错了?

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace 算数练习
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

    int a, b;
    int x,y;
    string op;

    int result;

    Random rnd = new Random();

    private void Form1_Load(object sender, EventArgs e)
    {

    }

    private void lalresult_Click(object sender, EventArgs e)
    {

    }

    private void lalA_Click(object sender, EventArgs e)
    {

    }

    private void rabtn100add_CheckedChanged(object sender, EventArgs e)
    {
        x = 99;
        y = 2;
    }

    private void rabtn10mul_CheckedChanged(object sender, EventArgs e)
    {
        x = 9;
        y = 4;
    }

    private void timexchange_Tick(object sender, EventArgs e)
    {
        a = rnd.Next(x) + 1;
        b = rnd.Next(x) + 1;
        int c = rnd.Next(y);
        switch (c)
        {
            case 0: op = "+"; result = a + b; break;
            case 1: op = "-"; result = a - b; break;
            case 2: op = "*"; result = a * b; break;
            case 3: op = "/"; result = a / b; break;
        }
        lalA.Text = a.ToString();
        lalop.Text = op;
        lalB.Text = b.ToString();
        txtAnswer.Text = "";
        string str = txtAnswer.Text;
        double d = double.Parse(str);//这里错了,怎么改?
        string disp = "" + a + op + b + "=" + str + "  ";
        if (d == result)
            disp += "√";
        else
            disp += "×";
        listBox1.Items.Add(disp);
    }

    private void btnfast_Click(object sender, EventArgs e)
    {
        timexchange.Interval -= 500;
    }

    private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
    {
        string str = txtAnswer.Text;
        double d = double.Parse(str);
        string disp = "" + a + op + b + "=" + str + "  ";
        if (d == result)
            disp += "√";
        else
            disp += "×";
        listBox1.Items.Add(disp);
    }

    private void btnslow_Click(object sender, EventArgs e)
    {
        timexchange.Interval += 500;
    }

    private void rabtn10add_CheckedChanged(object sender, EventArgs e)
    {
        x = 9;
        y = 2;
    }
}

}

  • 写回答

3条回答

  • threenewbee 2016-03-27 10:06
    关注

    txtAnswer.Text;里面的内容不是一个合法的浮点数,比如说有多余的空格,数字和符号是全角字符,或者它根本为空。

    评论

报告相同问题?

悬赏问题

  • ¥15 求差集那个函数有问题,有无佬可以解决
  • ¥15 MATLAB动图问题
  • ¥15 【提问】基于Invest的水源涵养
  • ¥20 微信网友居然可以通过vx号找到我绑的手机号
  • ¥15 寻一个支付宝扫码远程授权登录的软件助手app
  • ¥15 解riccati方程组
  • ¥15 display:none;样式在嵌套结构中的已设置了display样式的元素上不起作用?
  • ¥15 使用rabbitMQ 消息队列作为url源进行多线程爬取时,总有几个url没有处理的问题。
  • ¥15 Ubuntu在安装序列比对软件STAR时出现报错如何解决
  • ¥50 树莓派安卓APK系统签名