是否有可能让JSpinner处理浮动?我有像10E-20那样的花车,所以我不能使用双打,它必须是花车...但是没有类SpinnerNumberModel可以处理花车......
答案 0 :(得分:1)
首先,我不明白为什么你不能使用双打,但是好的。
SpinnerNumberModel
能够处理浮点数,但你必须将它们作为Float
个对象。有this构造函数,它接受Number
和Comparable
个对象。
但请记住,浮动不能代表那么小的数字。要获得如此高的精度,您应该使用BigDecimal
类,它也是Number
的子类。(Javadoc BigDecimal)
答案 1 :(得分:1)
以下是Java Number
,Integer
,Double
,Float
的工作方式。
java.lang.Number
是超级java.lang.Integer
,java.lang.Double
以及java.lang.Float
,....
SpinnerNumberModel
类具有以下构造函数
public SpinnerNumberModel(Number value,
Comparable minimum,
Comparable maximum,
Number stepSize)
我完全没有理由不提供Float
代替Number
,因为Float
是Number
的子类型。 Float是引用类型,而不是原始的float。
Float value = new Float(50.28817271727);
Float step = new Float(5.29182);
SpinnerNumberModel model = new SpinnerNumberModel(value, null, null, step);