在我的.NET Core Web应用程序中,我将UI文化更改为与用户对应的文化。但是,当我输出浮点数等时,我希望它是InvariantCulture,因为我在解析时遇到了很多问题。
例如,在丹麦,小数点分隔符是逗号,而不是点。
如果我的流量为8.5,则将其打印为8,5。 但是,当我然后保存它(例如从输入到我的模型中的float属性)时,我将其提交为8,5,但.NET无法在浮点数中将其解析为8.5。它只会变成85。
因此,我希望将浮点数和数字完全作为InvariantCulture,因为将它一直转换是一件痛苦的事。
关于如何做到这一点的任何想法?
答案 0 :(得分:0)
当然,.Net可以正确解析!这是IFormatProvider
中的float.Parse
参数:
CultureInfo ci = new CultureInfo("dk-DK");
float x = float.Parse("8,5", ci);