似乎很容易强制小数到某种精度,它们有很多种方法。我尝试过使用all:
第一种方式:使用配置
xtype: 'numberfield',
fieldLabel: 'Balance',
name: 'balancefield',
decimalPrecision:2
替代方式:通过覆盖或扩展显示here
或使用正则表达式
所有这些都适用于模糊或其他一些事件或函数。这是一种在两位小数后停止输入的方法。在 textfields 中,我们可以在数字字段中使用 RegEx 和 maskRe configs.But,它们就像maskRe一样,这样用户就无法输入两个以上小数点。 感谢任何帮助。谢谢。
答案 0 :(得分:2)
maskRe
确实在数字字段内部使用,因此您必须模仿其行为。也就是说,监听字段的keypress
事件,如果输入适合您,则停止事件。
示例,使用正则表达式强制执行两位十进制精度:
Ext.widget('numberfield', {
renderTo: Ext.getBody()
,enableKeyEvents: true
,listeners: {
keypress: function(field, e) {
var v = field.getValue();
if (!Ext.isEmpty(v)) {
if (/\.\d{2,}/.test(v)) {
e.stopEvent();
}
}
}
}
});