我创建新使用的CultureInfo( “FR-FR”)CultureInfo对象。现在我有一个数字,我想打电话的ToString(“C”,FrenchCultureInfo)。结果字符串放€后的数字。为什么呢?

CultureInfo french = new CultureInfo("fr-FR");
double value = 1234.56;
string output = value.ToString("C", french);//output = "1 234,56 €"

这是所有我见过的,欧洲需要在左边,我的业务需求的任务,这是在左边。然而,没有办法以编程方式设置该值。

我如何能轻松地设置该值的任何想法?我已经开始采取了美国文化的对象,并在将其从法国文化复制的一切,因为我们仍然希望其他所有的法国人设定,除了欧元的权值。但是这种方法是非常耗时且令人沮丧。

谢谢!

有帮助吗?

解决方案

克隆的原始和然后对其进行修改:

CultureInfo french = new CultureInfo("fr-FR");
french = (CultureInfo) french.Clone();
// Adjust these to suit
french.NumberFormat.CurrencyPositivePattern = 2;
french.NumberFormat.CurrencyNegativePattern = 2;
double value = 1234.56;
string output = value.ToString("C", french);//output = "€ 1 234,56"

请注意,这只会影响特定对象CultureInfo,不是一般的法国获得了一个 - 所以你需要确保你使用它无处不在

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top