我尝试限制十进制数字的文本字段,我已经找到了整数验证的解决方案here,但问题是我无法将以下代码转换为十进制数字,例如 324.23, 4.3, 4, 2, 10.43。 (仅允许 1 位小数)。
vendorList_textField_remaining.textProperty().addListener(new ChangeListener<String>() {
@Override
public void changed(ObservableValue<? extends String> observable, String oldValue, String newValue) {
if (!newValue.matches("\\d*")) {
vendorList_textField_remaining.setText(newValue.replaceAll("[^\\d||.]", ""));
}
}
});
我也在寻找替代解决方案。
谢谢。
我也遇到过同样的情况。我想我已经找到了这个问题的解决方案。正则表达式已被替换为新的正则表达式,并且 setText 进行了一些更改。目前来说效果很好。代码如下:
vendorList_textField_remaining.textProperty().addListener(new ChangeListener<String>() {
@Override
public void changed(ObservableValue<? extends String> observable, String oldValue, String newValue) {
if (!newValue.matches("\\d*(\\.\\d*)?")) {
vendorList_textField_remaining.setText(oldValue);
}
}
});
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)