我尝试搜索 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/