gpt4 book ai didi

c# - 输入字符串的格式不正确。将字符串转换为 double

转载 作者:太空狗 更新时间:2023-10-30 00:46:45 26 4
gpt4 key购买 nike

我是 C# 的初学者,可以在 button1_click 事件下进行空字符串到 double 转换..但是在 Public Form1() 下进行给我这个错误

Input string was not in a correct format.

这是代码..(form1.cs 和 Guy.cs 类)

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

namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();

guy1 = new Guy() ;
guy1.guyname = textBox1.Text;
guy1.guycash = double.Parse(textBox2.Text);
}

}

Guy guy1 ;

private void button1_Click(object sender, EventArgs e)
{

label5.Text = guy1.TakeCash(double.Parse(textBox3.Text)).ToString();

}
}


}

Guy.cs 代码:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace WindowsFormsApplication1
{
class Guy
{
private string name;
private double cash;

public string guyname
{
get { return name; }
set { name = value; }
}

public double guycash
{
get { return cash ; }
set { cash = value; }
}



public double TakeCash(double amount)
{
if (cash > amount)
{
cash -= amount;
return cash;
}
else
{
MessageBox.Show("Not enough Cash.");
return 0;
}
}


}
}

错误是由 guy1.guycash = double.Parse(textBox2.Text); 行引起的,当我尝试 double.TryParse(textbox2.Text, out x) 在 If() 之前,它返回 false 。

请问如何解决?提前致谢。

最佳答案

接旁观者的回答:

double d;
if(!Double.TryParse(textBox2.Text, out d)){
return; // or alert, or whatever.
}

guy1 = new Guy() ;
guy1.guyname = textBox1.Text;
guy1.guycash = d;

您正在做的是尝试解析,如果失败,则采取其他措施。由于用户可以输入他们想要的任何内容,这保证了如果您未能解析输入(因为它不是小数),您可以很好地处理它并告诉他们修复他们的输入。

关于c# - 输入字符串的格式不正确。将字符串转换为 double ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2440339/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com