gpt4 book ai didi

c# - 将 Text1.Text 转换为 Double

转载 作者:太空宇宙 更新时间:2023-11-03 12:33:31 24 4
gpt4 key购买 nike

我正在做答案显示的所有事情,但我收到与日期时间字符串相关的错误:

When converting a string to DateTime [not trying to], parse the string to take the date before putting eacdh variable into the DateTime object

根本不尝试转换为日期 - 这只是一个要加倍的字符串。

所有这些都失败了,上面有确切的错误消息,但是这些都列为该站点上问题的答案:

Convert.ToDouble(text1.Text);
Convert.ToDouble(Convert.ToString(text1.Text));
Double.TryParse(text1.Text, out value);
Double.Parse(text1.Text).ToString();
Double.Parse(text1.Text, CultureInfo.InvariantCulture)

我要在框中输入什么才能让它抛出此错误?

[nothing]
a
x
b
c

我正在尝试将字符串转换为 double ;当我查看 Text1.Text 的属性时,it is listed as a string ,所以我认为在转换为小数(哇)之前尝试将字符串转换为字符串是多余的。如您所见,我仍然尝试这样做以防万一

In one of MS's examples ,他们将其与小数一起使用:

CultureInfo culture;
decimal number = Decimal.Parse(text1.Text, culture.NumberFormat);

我在这个 (culture) 上得到了未赋值局部变量的使用错误;另外,我没有在其他示例中的任何地方看到这个,所以这是解决它的一种非常特殊的方法,但也许这是执行此操作的新方法?

一个不同的测试,一个是直接在代码中输入,另一个来自文本框:

/// No error:
Convert.ToDouble("0.85");
/// Error:
Convert.ToDouble(txt1.Text);

Convert.ToDouble(txt1.Text); 的堆栈跟踪:

at System.Number.ParseDouble(String value, NumberStyles options, NumberFormatInfo numfmt) at System.Convert.ToDouble(String value)
at BaseUtilityForm.Form1.btnDone_Click(Object sender, EventArgs e) in c:\Users\user\Documents\Visual Studio 2013\Projects\Project\Project\Project.cs:line 89 at System.Windows.Forms.Control.OnClick(EventArgs e) at System.Windows.Forms.Button.OnClick(EventArgs e) at System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent) at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks) at System.Windows.Forms.Control.WndProc(Message& m) at System.Windows.Forms.ButtonBase.WndProc(Message& m)

格式异常信息:

{"Input string was not in a correct format."}

最佳答案

问题是接收到的消息比较困惑,但根本原因是这些转换方法期望文本值可以转换。如果无法转换文本值,则会发生异常。

Convert.ToDouble(text1.Text);
Convert.ToDouble(Convert.ToString(text1.Text));
Double.Parse(text1.Text).ToString();
Double.Parse(text1.Text, CultureInfo.InvariantCulture)

为了避免异常:

double value;
if(Double.TryParse(text1.Text, out value)
{
[...do stuff with valid value here...]
}

关于c# - 将 Text1.Text 转换为 Double,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41882153/

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