我在我的 ASP.NET 应用程序中使用德国 UI 文化。
我正在根据下拉列表中选择的语言更改应用程序的 UI 文化,在下拉列表中选择的索引更改时我正在使用此代码
Thread.CurrentThread.CurrentCulture = new CultureInfo(this.lstLanguage.SelectedValue);
Thread.CurrentThread.CurrentUICulture = new CultureInfo(this.lstLanguage.SelectedValue);
下拉菜单如下
<asp:DropDownList cssClass="ddllanguage" ValidationGroup="b" runat="server" ID="lstLanguage" AutoPostBack="True" OnSelectedIndexChanged="LstLanguage_SelectedIndexChanged" meta:resourcekey="lstLanguage">
<asp:ListItem Value="en-US" Text="English" meta:resourcekey="ListItemResource2" ></asp:ListItem>
<asp:ListItem Value="de-DE" Text="Deutsch" meta:resourcekey="ListItemResource3"></asp:ListItem>
</asp:DropDownList>
我的问题是,将语言更改为 de-DE 后,我的应用程序中的所有十进制值都更改为逗号,所有像 5.12 这样的十进制数都变为 5,12,所有十进制值都更改为逗号。
如何获取不带逗号的十进制值。
您可以按照以下代码更改数字格式信息
Thread.CurrentThread.CurrentCulture.NumberFormat.NumberDecimalSeparator = ".";
尝试下面的代码来根据文化解析十进制值。
string str = "50,3";
Thread.CurrentThread.CurrentCulture = new CultureInfo("de-DE");
double d = double.Parse(str, Thread.CurrentThread.CurrentCulture.NumberFormat);
给出结果 d = 50.3
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)