我有一个包含货币字段欧元(法国)的Sharepoint列表。这些项目是SPList显示为:
10,000.12 €
9,222.00 €
我有以下C#代码:
CultureInfo ci = new CultureInfo(1036);//fr-FR
string value = SPFieldCurrency.GetFieldValueAsText(doubleValue, ci, ci.LCID, SPNumberFormatTypes.Automatic);
返回的值是:
10 000,12 €
9 222,00 €
我想到的第一件事就是将文化的数字格式(例如ci.CurrencyFormat.CurrencyGroupSeparator)设置为与SharePoint列表中的相同,但这就是我被困的地方。无论如何我无法从SPFieldCurrency字段中获取NumberFormat。 有什么想法吗?
答案 0 :(得分:0)
您应该将当前文化传递给方法,如下所示:
string value = SPFieldCurrency.GetFieldValueAsText(doubleValue,
Thread.CurrentThread.CurrentCulture, ci.LCID,
SPNumberFormatTypes.Automatic);
如果将字段的文化传递给此函数,它将使用小数点和千分点来格式化值。你不能说错,但只是形成你的观点。
顺便说一句,OOB使用当前的文化。