正则表达式用于文本字段中的双精度输入

时间:2019-03-29 11:42:51

标签: regex javafx double

我知道这是一个常见的问题,但是我做了一些研究,却找不到答案。在我的javafx项目中,我有textfiled,用户只能输入double(货币值)。 程序通过代码检查输入:

sumText.textProperty().addListener(new ChangeListener<String>() {
        @Override
        public void changed(ObservableValue<? extends String> observable, String oldValue, String newValue) {
            if (!newValue.matches("\\d{0,7}([\\.]\\d{0,2})?")) {
                sumText.setText(oldValue);
            }
        }
    });

一切正常,但是现在我需要修改正则表达式,因此它也允许输入负数。我如何修改正则表达式来做到这一点?所有标准的“ regex for all doubles”都不起作用,因为它的输入时刻可以是“-”和“”。在表达式的开头添加^ [\ + \-]也无济于事。

0 个答案:

没有答案