【发布时间】:2014-06-13 18:47:46
【问题描述】:
我的软件的一个功能是将数字字符串转换为double 数据类型。我想明确指出使用句点 (.) 作为小数点。因此,无论用户系统的语言设置如何,它都会正确读取句点分隔的十进制。我相信解决方案是在Convert.ToDouble() 函数中使用IFormatProvider 参数。我不确定如何执行此操作。
示例: 字符串:“3.14” 双倍:3.14
【问题讨论】:
标签: c# iformatprovider
我的软件的一个功能是将数字字符串转换为double 数据类型。我想明确指出使用句点 (.) 作为小数点。因此,无论用户系统的语言设置如何,它都会正确读取句点分隔的十进制。我相信解决方案是在Convert.ToDouble() 函数中使用IFormatProvider 参数。我不确定如何执行此操作。
示例: 字符串:“3.14” 双倍:3.14
【问题讨论】:
标签: c# iformatprovider
解析时使用CultureInfo.InvariantCulture。
double d = double.Parse("3.14", CultureInfo.InvariantCulture);
见:CultureInfo.InvariantCulture Property
不变的文化是文化不敏感的;它与 英语,但不涉及任何国家/地区。
【讨论】:
double.Parse(yourString, CultureInfo.InvariantCulture)
编辑:或查看this question
【讨论】: