我正在尝试限制小数数字的文本字段,我已经找到了整数验证的解决方案(在这里),但问题是我无法将以下代码转换为小数数字,例如324.23、4.3、4、2、10.43(只允许一个小数点)。
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||.]", ""));
}
}
});
我也在寻找其他解决方案。 谢谢。
.replaceAll("^(\\d*\\.)|\\D", "$1")
。 - Wiktor Stribiżew.replaceAll("^(\\d*\\.\\d*)\\.", "$1")
更好一些... - JohnnyAW