【发布时间】:2021-05-14 15:06:04
【问题描述】:
在 Oracle APEX 中 - 我试图把 JS 下面放在 Advance-> Custom Attributes property- onfocusout="this.value=Number(this.value).toFixed(4).replace(/(\d)(?=(\d{3}) +(?!\d))/g, '$1,')"
并在外观->格式掩码-> 999G999G999G999G999G999G999G999G990D0000
但在这个 JS 中,我得到的结果类似于 - 10,000.0,000
我需要以逗号分隔的结果 - 999G999G999G999G999G999G999G999G990D0000 例如10,000.0000
注意:十进制应固定为 4,其余值应为千位分隔符。 如果你试过这个,请帮助我。
Type-> NumberFormat{Plug In} 在这种情况下不起作用,因为我正在从交互式报告中获取记录以进行更新。
如果需要更多信息,请告诉我。
【问题讨论】:
-
在此处查看格式货币帖子:stackoverflow.com/questions/149055/… 您可能可以使用 formatMoney(this.value,4) 之类的东西并在 JS 中获得所需的结果。
-
This(formatMoney(this.value,4)) 在 APEX 中不起作用。
-
onfocusout="this.value=Number(this.value).toFixed(4).replace(/(\d)(?=(\d{3})+(?!\d ))/g, '$1,')" 上述解决方案有效,但结果不如预期。
-
您需要在应用程序的 javascript 中包含 formatMoney javacript 代码。在页面上或作为静态文件。并且“上述解决方案有效,但结果不如预期”= 无效。它不起作用的原因是因为正则表达式正在寻找 3 位数字并添加逗号,并且有多组 3 位数字。如果您希望继续使用该解决方案,您可以查看格式货币解决方案以了解该用户如何编写他的正则表达式,但这似乎更困难。
-
您的 apex 版本是什么?正如您开箱即用地描述的那样,这对我有用-不需要自定义编码。 “数字字段”类型的页面项,格式掩码“999G999G999G999G990D0000”。如果我输入“10000”并单击其他任何位置,格式将更改为“10,000.0000”。我在 20.2 测试过
标签: oracle-apex apex apex-code