我想解析"3.5"一个双字符串的字符串.然而,
double.Parse("3.5")
Run Code Online (Sandbox Code Playgroud)
收益35和
double.Parse("3.5", System.Globalization.NumberStyles.AllowDecimalPoint)
Run Code Online (Sandbox Code Playgroud)
抛出一个FormatException.
现在我的计算机的语言环境设置为德语,其中逗号用作小数分隔符.它可能需要做些什么并double.Parse()期待"3,5"作为输入,但我不确定.
如何解析包含十进制数的字符串,该十进制数可能是也可能不是我当前语言环境中指定的格式?
我在数据库中有两个nvarchar字段来存储DataType和DefaultValue,我有一个DataType Double,值为65.89875英文格式.
现在我希望用户按照所选的浏览器语言格式查看值(英语中的65.89875应显示为德语中的65,89875).现在,如果用户从德语格式编辑为65,89875(英语为65.89875),而英语浏览器中的其他用户视图则为6589875.
发生这种情况是因为在数据库中它在nvarchar列中存储为65,89875,并且在使用英语文化转换时,它变为6589875,因为它将其视为,分隔符,它是德语的十进制运算符.
如何让这个适用于所有浏览器?
在我的语言环境中,小数点分隔符是','.
但是,我仍然想编写一个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
Run Code Online (Sandbox Code Playgroud)