我尝试搜索google和stackoverflow但没有成功。
我遇到“输入字符串格式不正确”的问题。我正在工作的应用程序的异常。
事情是,我用doubleNumber.ToString(“N2”)将一些double值转换为字符串;为了将它们存储在XML文件中。当我切换测试机器时,存储在其中的XML文件不能返回到双值。
我已经尝试了所有我能想到的解决方案,但设置数字文化不起作用,使用CultureInfo.InvariantCulture,替换字符也不起作用。有时这些值存储为“3,001,435.57”,有时(在其他PC上)如“3.001.435,57”。
是否有一些函数或方法来解析字符串中的double,无论输入格式是什么?
感谢。
答案 0 :(得分:3)
你必须指定一种文化,因为(例如)“3,001”是不明确的 - 是3.001还是3001?
根据您的数字的样子,也许您可以尝试通过计算,
和.
字符的数量和/或检查其位置来检测文化。
答案 1 :(得分:0)
这是你要找的......
http://msdn.microsoft.com/en-us/library/9s9ak971.aspx
这将接受字符串变量和格式提供程序。您需要创建一个格式提供程序,该提供程序提供您要转换的文化信息。