将任何字符串编号解析为数字
本文关键字:数字 编号 任何 字符串 | 更新日期: 2023-09-27 18:26:16
我正试图弄清楚字符串值是否是任何类型的数字。这些数字可以是23.23美元,(232.3434),34.4545,64.345,34.34%
对于美元和百分比,我可以从字符串中删除%和$符号,但我无法使用此代码解析此数字。
string _number = "64.345";
double _double;
if (Double.TryParse(_number, NumberStyles.Any, null, out _double))
{
}
else
{
}
我在这个代码中做错了什么?
您的操作系统的区域性设置是什么,很可能是误解了.
。
如果您将CultureInfo.InvariantCulture
而不是null
传递给格式提供程序,则应该可以解决您的问题。当您传入null时,它将使用CultureInfo.CurrentCulture
,并且您的电脑被设置为一个区域性,该区域性不会将.
解释为十进制数字的分隔符。
您可以尝试使用double。用try-catch语句解析(),如下所示:
string _number = "64.345";
double _double;
try
{
_double = Double.Parse(_number)
// Other actions
}
catch (FormatException ex)
{
// Actions for when invalid parameter is given for parse
}