我试图搜索谷歌和stackoverflow没有成功。C#将任何格式字符串转换为双倍
我遇到了“输入字符串格式不正确”的问题。例外与我正在工作的应用程序。
事情是,我将一些double值转换为doubleNumber.ToString(“N2”)的字符串;以便将它们存储在XML文件中。当我切换测试机器时,存储在其中的XML文件无法返回到double值。
我已经尝试了所有我能想到的解决方案,但设置数字文化不起作用,使用CultureInfo.InvariantCulture,替换字符也不起作用。有时这些值存储为“3,001,435.57”,有时(在其他PC上),如“3.001.435,57”。
无论输入格式是什么,是否存在某种函数或从字符串中解析double的方法?
谢谢。
你一定已经搞乱了你对InvariantCulture的使用。它应该可以在任何PC上使用一致的数字分隔符和小数位数。 – jv42 2011-06-06 11:55:56
@ jv42正如我在另一条评论中所说的,它可以保存在一种文化中,并在另一种文化中阅读,所以文化与个人电脑的应用程序可以使用的地方不一致。 – Clone 2011-06-06 12:05:29
我一定误解了一些部分。如果你正在创建这些文件,你可以在*保存*(不变)时指定文化在* loading *(不变)时相同,所以它不会因机器不同而不同。 – jv42 2011-06-06 12:17:48