Как вы связываете двунаправленное уравнение?«Rate / DIVISOR» - это не то, что вы можете присвоить значению.По той же причине код rate / 32 = newRate;
не будет компилироваться.
Что вы можете сделать, это использовать TextFormatter и использовать прослушиватели вместо привязки:
NumberStringConverter converter = new NumberStringConverter();
TextFormatter<Number> formatter = new TextFormatter<>(converter);
params.rateProperty().addListener(
(o, old, rate) -> formatter.setValue(rate.doubleValue() / DIVISOR.get()));
formatter.valueProperty().addListener(
(o, old, rate) -> params.setRate(rate.doubleValue() * DIVISOR.get()));
rateTextField.setTextFormatter(formatter);
ЕслиDIVISOR никогда не меняется, вы можете сделать его примитивом int вместо свойства:
private static final int DIVISOR = 32;
// ...
NumberStringConverter converter = new NumberStringConverter();
TextFormatter<Number> formatter = new TextFormatter<>(converter);
params.rateProperty().addListener(
(o, old, rate) -> formatter.setValue(rate.doubleValue() / DIVISOR));
formatter.valueProperty().addListener(
(o, old, rate) -> params.setRate(rate.doubleValue() * DIVISOR));
rateTextField.setTextFormatter(formatter);