2017-06-29 75 views
1

我想设置一个国家的货币格式与impex。当前它设置为'42,953.87'。我希望它应该改为'42 .953,87'的格式。现在IMPEX我使用它是作为在hybris中设置货币格式

INSERT_UPDATE Currency;isocode[unique=true];conversion;digits;symbol 
;ABC;1;2;kr 

什么样的变化我需要在上面IMPEX代码,使其在格式24.953,87我试图;ABC;;;2;kr但它并不work.Is有任何其他方式在hybris中,我可以通过它更改货币格式?

+0

我想你也需要java的自定义语言环境。因为由java语言环境进行格式化。 – mkysoft

+0

@mkysoft我试图用代码UPDATE CMSSite改变语言环境; uid [unique = true]; locale [lang = en] ; electronics; sv_SE,但是在这种情况下它也会影响其他的东西。价格从'1,490.00 kr'变为'490,00 $ 1'。有没有其他的方式来改变价格格式? –

回答

0

经过一番研究,我得出结论:在店面上显示的货币格式是基于CMSSite的区域价值。正是出于本地化的箱子功能,我们可以通过以下IMPEX

UPDATE CMSSite;uid[unique=true];locale[lang=$lang] 
;<site_uid>;<locale_value> 

而且如果我们需要编辑的格式多,我们需要改改DataPriceFactory执行这种情况下,对其进行更新。

-1

我尝试给你下面的代码语言环境。它看起来像sv_SE语言环境不是标准的jvm。可能是你正在使用特殊配置。你能检查它吗?

import java.text.*; 
import java.util.*; 

public class HelloWorld{ 

    public static void main(String []args){ 
     Locale locale = new Locale("sv","SE"); 
     DecimalFormat formatter = (DecimalFormat) NumberFormat.getInstance(locale); 
     DecimalFormatSymbols symbols = formatter.getDecimalFormatSymbols(); 
     System.out.println(symbols.getGroupingSeparator()); 
    } 
} 
0

我相信你试图用HAC导入。

请使用numberformat属性修饰符。请注意,您将不得不指定条目的区域设置。要成功导入,请按照以下步骤操作:

  1. 指定语言环境:#%impex.setLocale(Locale.ENGLISH);
  2. 在HAC
  3. 启用代码执行

enter image description here

  1. 使用的NumberFormat修饰符执行代码。

    INSERT_UPDATE Currency;isocode[unique=true];conversion;digits[numberformat==#.###,##];symbol ;ABC;1;24.953,87;kr

请评论,如果您仍遇到任何问题。

+0

嘿Vikarant,我不是在更改特定产品的价格格式,而是针对该地区的所有产品。我需要知道如何将数字的数字格式更改为#。###,##。我应该放在什么位置?这里。 ; ABC; 1;?; kr –

+0

但是,这是由cmssite实现自动支持的。您需要为您的瑞典货币提供区域设置给cmssite(我想,因为您已经提到了瑞典克朗的符号)。但是,如您指定的区域,我认为区域特定的本地化不是OOB。您必须覆盖PriceFactory或该特定区域的CurrencyFormatter。 – Vikrant

+0

查看我对我的问题的评论。我也尝试设置区域设置,但格式突然改变。我在那篇评论中写了输出。 –