如何防止大文本字段数字转换为1e表示法-Javascript / EXTJS

时间:2019-06-03 23:53:55

标签: javascript extjs

我有一个仅包含输入的文本字段,并且没有对输入大小设置最大限制。现在,当我输入大数字时,数字将转换为1e表示法。 例如:

enter image description here

我;我使用EXTJ作为我的代码库: 代码:

$cls.superclass.constructor.call(this, Ext.apply({
        items: [
            this.section({
                items: [{
                    xtype: 'container',
                    items: [
                        this.limit = new Ext.form.NumberField({
                            cls: "limit-number-field",
                            allowBlank: false,
                            allowNegative: false,
                            allowDecimals: false,
                            width: 150
                        })
                    ]
                }]
            })
        ]
    }, cfg));

这也是我尝试使用toFixed()的数字的日志 enter image description here

他们都给我相同的o / p。不知道我在这里做错什么。

如何防止这种情况发生。我希望数字原样出现在输入字段中。

PS>我提到了How to avoid scientific notation for large numbers in JavaScript? 但这对我没有用。 有什么想法吗?

1 个答案:

答案 0 :(得分:2)

如果只需要一个允许用户键入一长串数字而无需任何格式的文本字段,则可以将文本字段与maskRe一起使用。这将允许用户仅键入与掩码中的正则表达式匹配的字符。

Ext.create('Ext.form.Panel', {
renderTo: Ext.getBody(),
items: [{
    xtype: 'textfield',
    fieldLabel: 'Number',
    maskRe: /[0-9]/
}]

});

see fiddle here