我试图限制文本字段为十进制数字,我已经找到了整数验证的解决方案在这里,但问题是,我不能够将下面的代码转换为十进制数字,像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||.]", ""));
}
}
});
Run Code Online (Sandbox Code Playgroud)
我也在寻找替代解决方案.谢谢.
小智 5
我遇到了同样的情况.我想我找到了这个问题的解决方案.正则表达式必须由一个新的替换,并由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);
}
}
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5328 次 |
| 最近记录: |