我的一个软件功能是将数字字符串转换为double
数据类型。我想明确指出使用period(。)作为小数点。因此,无论用户系统的语言设置如何,它都会正确读取一个以句点分隔的十进制数。我相信解决方法是在Convert.ToDouble()
函数中使用IFormatProvider
参数。我不确定如何做到这一点。将字符串转换为Double,明确使用句点作为小数点
举例: 字符串: “3.14” 双:3.14
我的一个软件功能是将数字字符串转换为double
数据类型。我想明确指出使用period(。)作为小数点。因此,无论用户系统的语言设置如何,它都会正确读取一个以句点分隔的十进制数。我相信解决方法是在Convert.ToDouble()
函数中使用IFormatProvider
参数。我不确定如何做到这一点。将字符串转换为Double,明确使用句点作为小数点
举例: 字符串: “3.14” 双:3.14
使用CultureInfo.InvariantCulture
在解析。
double d = double.Parse("3.14", CultureInfo.InvariantCulture);
参见:CultureInfo.InvariantCulture Property
固定区域性是文化不敏感;它与 英文关联,但不与任何国家/地区关联。
double.Parse(yourString, CultureInfo.InvariantCulture)
编辑:或见this question