C# 将任何格式字符串转换为 double

标签 c# string format double type-conversion

我尝试搜索 google 和 stackoverflow,但没有成功。

我遇到了“输入字符串格式不正确”的问题。我正在使用的应用程序异常(exception)。

事情是,我使用 doubleNumber.ToString("N2"); 将一些 double 值转换为字符串。以便将它们存储在 XML 文件中。当我切换测试机器时,存储在一台测试机器上的XML文件无法返回到 double 值。

我已经尝试了所有我能想到的解决方案,但是设置数字区域性不起作用,使用CultureInfo.InvariantCulture,替换字符也不起作用。有时这些值存储为“3,001,435.57”,有时(在其他 PC 上)存储为“3.001.435,57”。

无论输入格式是什么,是否有一些函数或方法可以从字符串中解析 double 值?

谢谢。

最佳答案

您必须指定区域性,因为(例如)“3,001”不明确 - 是 3.001 还是 3001?

根据您的数字,也许您可​​以尝试通过计算 . 字符的数量和/或检查它们的位置来检测区域性。

关于C# 将任何格式字符串转换为 double ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6251573/

相关文章:

string - 访问R中str_split分割的各个值,找到最后一个?

python - 如何遍历 Pandas 数据框中的字符串并删除不需要的单词?

mysql - SQL BIT 列必须为空,输出时为 TRUE,输入时为 NULL 或 1

python - RTTM文件格式

java - 正则表达式匹配除日期时间格式中包含的数字之外的所有数字

c# - 另一个程序集中的 MVVM 行为

c# - ssis 脚本将 System.DateTime 转换为 DT_DBTIMESTAMP 但不转换为 DT_DBTIMESTAMP2

c# - TcpClient:如何关闭并重新连接它?

c# - EWS 设置扩展属性问题

javascript - 获取javascript日期对象中的天数