将 IntegerBinding 转换为 DoubleBinding
Convert an IntegerBinding to a DoubleBinding
这似乎是一个简单的问题,但事实证明这并不是那么简单(或者我找不到有关如何执行此操作的任何信息)。
我只是想将我拥有的 IntegerBinding,即 Bindings.size(families);
转换为 DoubleBinding,这样如果我这样做 Bindings.divide(Bindings.size(families),Bindings.size(familiesAll))
,我就不会得到整数除法的结果。也许还有其他方法可以实现我想要的,但转换绑定是非常重要的事情,它必须是可能的。
几个选项:
Bindings.createDoubleBinding(() ->
1.0 * families.size() / familiesAll.size,
Bindings.size(families), Bindings.size(familiesAll));
或:
Bindings.divide(Bindings.size(families).add(0.0), Bindings.size(familiesAll));
或:
Bindings.size(families).add(0.0).divide(Bindings.size(familiesAll));
或:
DoubleProperty familiesSize = new SimpleDoubleProperty();
familiesSize.bind(Bindings.size(families));
Bindings.divide(familiesSize, Bindings.size(familiesAll));
这似乎是一个简单的问题,但事实证明这并不是那么简单(或者我找不到有关如何执行此操作的任何信息)。
我只是想将我拥有的 IntegerBinding,即 Bindings.size(families);
转换为 DoubleBinding,这样如果我这样做 Bindings.divide(Bindings.size(families),Bindings.size(familiesAll))
,我就不会得到整数除法的结果。也许还有其他方法可以实现我想要的,但转换绑定是非常重要的事情,它必须是可能的。
几个选项:
Bindings.createDoubleBinding(() ->
1.0 * families.size() / familiesAll.size,
Bindings.size(families), Bindings.size(familiesAll));
或:
Bindings.divide(Bindings.size(families).add(0.0), Bindings.size(familiesAll));
或:
Bindings.size(families).add(0.0).divide(Bindings.size(familiesAll));
或:
DoubleProperty familiesSize = new SimpleDoubleProperty();
familiesSize.bind(Bindings.size(families));
Bindings.divide(familiesSize, Bindings.size(familiesAll));