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

时间:2011-10-11 10:45:14

标签: oracle-apex

我在顶点显示数字时遇到了一些麻烦,但只有当我通过代码填写它们时才会出现问题。通过自动行提取获取数字时,它们没问题!

领先零

例如,我有一个报告,用户可以点击链接,该链接运行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     ||'", '||

我是否需要在此处使用格式掩码(to_char(available_stock, 'FM999G990D000'))为我的数字字段提供to_char?

现在我需要将我的数字放在引号之间,或者当我解析它时我得到无效的json。

落后零

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

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

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

1 个答案:

答案 0 :(得分:0)

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