2012-09-14 66 views
2

在我的语言环境中,小数点分隔符是','。C#将字符串转换为双重语言环境

但是我仍然想编写一个C#应用程序,它可以与使用'。'的数字一起工作。作为小数分隔符。

 string b = "0,5"; 
     double db = double.Parse(b); // gives 0.5 

     string a = "0.5"; 
     double da = double.Parse(a); // gives 5, however i would like to get 0.5 
+0

可能的重复http://stackoverflow.com/questions/1354924/c-how-do-i-parse-a-string-with-a-decimal-point-to-a-double –

+0

http:// stackoverflow .com/questions/2583362/how-to-convert-string-to-double-with-proper-cultureinfo 看这里 – Borgleader

回答

13

您需要作为第二个参数来指定文化double.Parse,例如

double da = double.Parse(a, CultureInfo.InvariantCulture); 

几乎所有的格式/分析方法具有重载服用IFormatProvider,而最常用指定的IFormatProvider实现CultureInfo

+0

这只有在字符串中的值是使用不变的文化来存储时才有效。如果不是,0.5将被解析为0.5,而0,5将被解析为5 ...似乎没有办法得到最终的解决方案。 – dzendras

+0

@dzendras:这个问题陈述了“编写一个C#应用程序与使用'。'的数字一起工作的要求。作为小数分隔符“ - 答案是为了满足这个要求。 –

相关问题