在 hybris 中设置货币格式

Set Currency format in hybris

我正在尝试为具有 impex 的国家/地区设置货币格式。目前它被设置为“42,953.87”。我希望它应该更改为“42.953,87”的格式。现在我正在使用的 impex 是

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

我需要在上面的 impex 代码中进行哪些更改以使其格式为 24.953,87 我试过 ;ABC;;;2;kr 但它 work.Is 在 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 属性修饰符。请注意,您必须指定条目的区域设置。要成功导入,请按照以下步骤操作:

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

  1. 使用数字格式修饰符执行代码。

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

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

经过一些研究,我得出结论,店面上显示的货币格式是基于 CMSSite 的语言环境值。它是开箱即用的本地化功能,我们可以通过关注 impex

对其进行更新
UPDATE CMSSite;uid[unique=true];locale[lang=$lang]
 ;<site_uid>;<locale_value>

此外,如果我们需要更多地编辑格式,在这种情况下,我们需要更改以更改 DataPriceFactory 实现。

在 impex 上方添加以下行:

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

设置对应的localedo达到你期望的格式