我有一个奇怪的问题。我们在我们的网站上使用荷兰语和法语语言(nl-NL / fr-FR)
我绑定到gridview,奇怪的是,数值 - saparator(点)不能很好地显示法语(fr-FR)
ASP.NET
protected void gridview_RowDataBound(object sender, GridViewRowEventArgs e)
{
Label lbla_min_10 = new Label();
lbla_min_10 = e.Row.FindControl("lbla_min_10") as Label;
lbla_min_10.Text = ((int)DataBinder.Eval(e.Row.DataItem, "a_min_10")).ToString("#,#.###");
//....
}
e.g。 DB值为24369
在荷兰语中显示24.369和
在法语中显示24 369 - >没有DOT分隔符,但是空格。
我查看了视图源代码,代码看起来一样,除了在NL中的(dot)和FR中的(空格).....
有人有任何想法吗?
为什么荷兰语(nl-NL)罚款而不是法语(fr-FR)呢?
答案 0 :(得分:2)
尝试使用“nl-BE”和“fr-BE”。在数字方面,它们使用相同的格式。
String.Format("{0:##,###}", 12345); // nl-NL: 12.345
String.Format("{0:##,###}", 12345); // fr-FR: 12 345
String.Format("{0:##,###}", 12345); // nl-BE: 12.345
String.Format("{0:##,###}", 12345); // fr-BE: 12.345
答案 1 :(得分:1)
在'Fr Culture'中,1000和100之间没有分隔符。所以,如果你用荷兰语写出10.000,你可以用法语写一万份。 为什么这是一个问题?
答案 2 :(得分:1)
这就是法国人如何表示成千上万的。有空间。荷兰语使用a。(句号),英语使用a,(逗号)。
因此区域格式正在按预期工作。
答案 3 :(得分:0)
嗯,它的行为正确。问题是,你实际使用的是分组(千)分隔符。如果您希望始终使用句点格式化它,请将CultureInfo.InvariantCulture添加为第二个参数。