数字字段项的格式掩码:尾随和“前导”零

Posted

技术标签:

【中文标题】数字字段项的格式掩码:尾随和“前导”零【英文标题】:Format mask for number field items: trailing and 'leading' zero 【发布时间】:2011-10-11 10:45:14 【问题描述】:

我在顶点中显示数字时遇到了一些问题,但只有当我通过代码填写它们时。当通过自动行提取来获取数字时,它们很好!

领先的零

例如,我有一个报告,用户可以点击一个链接,该链接运行一个 javascript 函数。我通过申请流程获得了该记录的详细值。返回值采用 JSON 格式。有几个字段是数字字段。 我的回复如下(fe):

"AVAILABLE_STOCK": "15818", "WEIGHT": ".001", "VOLUME": ".00009", "BASIC_PRICE": ".06", "COST_PRICE": ".01"

这里的数字已经“不正确”:小于 1 的值在 . 我有点希望项目上的格式掩码能抓住这一点。如果我为物品重量指定FM999G990D000,我希望它显示'0.001'。

但是好吧,我想它只在通过会话状态时才有效,而不是当您通过 $("#").val() 设置项目值时?

我哪里出错了?我唯一的选择是在应用程序过程中更改我的选择吗? 现在:

  SELECT '"AVAILABLE_STOCK": "' || AVAILABLE_STOCK ||'", '||
         '"WEIGHT": "'          || WEIGHT          ||'", '||
         '"VOLUME": "'          || VOLUME          ||'", '||
         '"BASIC_PRICE": "'     || BASIC_PRICE     ||'", '||

我需要在此处为​​我的 numberfields 提供一个带有格式掩码的 to_char (to_char(available_stock, 'FM999G990D000')) 吗?

现在我当然需要把我的数字放在引号之间,否则我在解析它时会得到无效的 json。

尾随零

我在自动行提取之后的页面后标题点上有一个应用程序进程。此处计算了几个字段(总计)。使用的变量都指定为 number(10, 2)。所有值均正确并在逗号后四舍五入为 2 个值。我对项目的格式掩码也指定为FM999G999G990D00

但是,当其中一个计算值在逗号后只有一个有意义的值时,尾随零会被删除。它显示为“987.5”,而不是“987.50”。 所以,我有一个数字变量,并像这样分配它::P12_NDB_TOTAL_INCL := v_totI; 我也需要在这里转换我的数字,使用格式掩码吗?

我做错了什么,或者我错过了什么?

【问题讨论】:

【参考方案1】:

如果您不对其进行数学运算并且更关心格式,我建议尽可能将其视为 varchar/string 而不是数字。

【讨论】:

以上是关于数字字段项的格式掩码:尾随和“前导”零的主要内容,如果未能解决你的问题,请参考以下文章

格式化包含带前导零的小数点的数字

如何删除 MySQL 字段中的前导和尾随空格?

在 QueryContext Oracle 的数字 varchar 字段中附加前导零

带有可选字母的 3 位数字的格式字段

如何删除字符串中的前导零和尾随零? Python

第九十四章 SQL函数 %MINUS