在hybris中设置货币格式

在hybris中设置货币格式,hybris,currency-formatting,impex,Hybris,Currency Formatting,Impex,我正试图为一个有弹劾的国家设定货币的格式。当前设置为“42953.87”。我希望它应该被更改为'42.953,87'格式。现在我使用的弹劾是 INSERT_UPDATE Currency;isocode[unique=true];conversion;digits;symbol ;ABC;1;2;kr 我需要对上面的impex代码进行哪些更改才能使其成为24.953,87格式,我尝试了;ABC;;;2.kr但它不起作用。在hybris中有没有其他方法可以更改货币格式?我用下面的代码尝试给定的语

我正试图为一个有弹劾的国家设定货币的格式。当前设置为“42953.87”。我希望它应该被更改为'42.953,87'格式。现在我使用的弹劾是

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

我需要对上面的impex代码进行哪些更改才能使其成为24.953,87格式,我尝试了
;ABC;;;2.kr
但它不起作用。在hybris中有没有其他方法可以更改货币格式?

我用下面的代码尝试给定的语言环境。看起来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());
     }
}

我相信你是想用HAC进口

请使用numberformat属性修饰符。请注意,您必须指定条目的区域设置。要成功导入,请执行以下步骤:

  • 指定区域设置:#%impex.setLocale(locale.ENGLISH)
  • 在HAC中启用代码执行
  • 使用numberformat修饰符执行代码

    插入更新货币;等码[唯一=真];转化;数字[numberformat==#.#####,##];符号
    ;ABC;1.24.953,87;kr


  • 如果您仍然面临任何问题,请发表评论。

    经过一些研究,我得出结论,店面上显示的货币格式基于CMSSite的区域设置值。这是本地化的开箱即用功能,我们可以按照impex进行更新

    UPDATE CMSSite;uid[unique=true];locale[lang=$lang]
     ;<site_uid>;<locale_value>
    
    更新CMSSite;uid[unique=true];语言环境[lang=$lang]
    ;;
    

    此外,如果需要进一步编辑格式,则需要更改以更改DataPriceFactory实现。

    在impex上方添加以下行:

    #% impex.setLocale( Locale.GERMAN );
    INSERT_UPDATE Currency;isocode[unique=true];conversion;digits;symbol
    ;ABC;1;2;kr
    

    设置相应的locale以达到您期望的格式

    我认为您还需要java的自定义locale。因为格式化是由java语言环境生成的。@mkysoft我试图用代码更新CMSSite更改语言环境;uid[unique=true];语言环境[lang=en];电子学;sv_SE,但在这种情况下,它也会影响其他事情。比如价格从“1490.00 kr”变为“490,00$1”。有没有其他方法可以改变价格格式?嘿,维卡兰特,我不是在改变特定产品的价格格式,而是在改变该地区所有产品的价格格式。我需要知道如何将数字的数字格式更改为#.####,##。我应该在什么地方?在这里ABC;1.但是这是由cmssite实现自动支持的。您需要为cmssite提供相应瑞典货币的区域设置(我想,正如您提到的瑞典克朗符号)。但正如您指定的地区,我相信特定地区的本地化不是OOB。您必须覆盖该特定区域的PriceFactory或CurrencyFormatter。请查看我对我的问题的评论。我还尝试设置区域设置,但格式突然改变。我在评论中写了输出。好吧,我的朋友,在这种情况下,您需要覆盖您所在地区的PriceFactory实现,因为我说过特定地区的本地化在hybris中不是OOB。谢谢您的建议。您能告诉我PriceFactory实现代码是在哪个文件中编写的,以便我在阅读后可以重写它吗。