gpt4 book ai didi

c# - 在 C# 中,为什么此转换会导致 "Input string was not in a correct format."错误?

转载 作者:行者123 更新时间:2023-11-30 14:55:39 30 4
gpt4 key购买 nike

我有读取数字的代码(但以字符串形式出现),我正在尝试将其转换为字节。

通常值在 0 和 1 之间(比如 .25),我下面的代码工作正常,但我现在遇到一个负值,特别是“-1”,并试图弄清楚为什么这段代码会崩溃:

 public static byte GetByteVal(DataRow dataRow, string caption)
{
var val = dataRow.GetValue(caption).ToString().Trim();

if (!String.IsNullOrEmpty(val))
{
decimal convertedVal = Decimal.Parse(val, NumberStyles.AllowExponent | NumberStyles.AllowDecimalPoint) * 100;

if (convertedVal >= 0)
{
return (byte)(convertedVal);
}
else
{
return (byte)0;
}
}
return (byte)0;
}

当“val”变量以“-1”出现时,我在这一行得到一个异常:

  decimal convertedVal = Decimal.Parse(val, NumberStyles.AllowExponent | NumberStyles.AllowDecimalPoint) * 100;

说的是:

Input string was not in a correct format.

最佳答案

您还需要输入 NumberStyles.AllowLeadingSign:

decimal convertedVal = Decimal.Parse( val, NumberStyles.AllowExponent |
NumberStyles.AllowDecimalPoint |
NumberStyles.AllowLeadingSign ) * 100;

关于c# - 在 C# 中,为什么此转换会导致 "Input string was not in a correct format."错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24944834/

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