3

我正在尝试为具有 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但它不起作用。在 hybris 中是否有其他方法可以更改货币格式?

4

4 回答 4

0

我相信您正在尝试使用 HAC 进行导入。

请使用numberformat属性修饰符。请注意,您必须指定条目的语言环境。要成功导入,请按照以下步骤操作:

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

在此处输入图像描述

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

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

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

于 2017-07-04T07:23:03.357 回答
0

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

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

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

于 2017-08-14T21:06:36.200 回答
0

在 impex 上方添加以下行:

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

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

于 2018-03-15T07:52:04.757 回答
-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());
     }
}
于 2017-07-02T12:40:02.610 回答