在 HTML 中使用货币的自定义数字格式

use a custom number format for money in HTML

我的 apex 页面中有一个交互式报告,里面有数字(钱),默认的钱格式是 U.S,就像这样:

###,###,###,###.##

我需要的是这个:

### ### ### ###,##

有没有办法在 HTML 或 CSS 或 JAVASCRIPT

中做到这一点

怎么样

Intl.NumberFormat

toLocaleString

const number = 10000.50

console.log(new Intl.NumberFormat('fr-FR',{minimumFractionDigits:2}).format(number))

console.log(number.toLocaleString('fr-Fr', {
    style: 'currency', 
    currency: 'EUR', 
    minimumFractionDigits: 2 
}));

顶点报告中的显示格式由 2 个参数决定:

  • 交互式报表中列的外观 > 格式掩码
  • 数据库中设置的小数和组分隔符session。
小数和组分隔符

在 oracle 中,这是在 session 级别确定的。您希望 , 作为小数点, space 作为组分隔符。要为您的数据库更改此 session 运行 以下语句。

ALTER SESSION SET NLS_NUMERIC_CHARACTERS = ', ';
  • 要为整个应用程序更改此设置,请在共享组件 > 安全 > 数据库 Session > 初始化 PL/SQL 代码
  • 中设置以下内容
EXECUTE IMMEDIATE q'!ALTER SESSION SET NLS_NUMERIC_CHARACTERS = ', '!';
  • 要为您报告的页面设置此项,您可以使用申请流程(条件是当前页面包含在表达式中)=“您的页面”在 header 之前执行上面的 EXECUTE IMMEDIATE 语句的过程
格式化掩码

数字格式模型 documentation 可能会给您一些线索:9 是数字,D 是小数分隔符,G 是组分隔符。所以你正在寻找 999G999G999G999D99

SELECT TO_CHAR(9866166747393/100,'999G999G999G999D99') from dual;

98 661 667 473,93

将其设置为交互式报告中列的外观 > 格式掩码。