Java JSpinner浮点输入是否可能?如何实现?
有可能让JSpinner处理浮动吗?我有像10E-20这样的花车,所以我不能用双打,必须是花车。。。但是没有处理浮点数的类SpinnerNumberModel…首先,我真的不明白为什么不能使用Double,但没问题Java JSpinner浮点输入是否可能?如何实现?,java,swing,jspinner,Java,Swing,Jspinner,有可能让JSpinner处理浮动吗?我有像10E-20这样的花车,所以我不能用双打,必须是花车。。。但是没有处理浮点数的类SpinnerNumberModel…首先,我真的不明白为什么不能使用Double,但没问题 SpinnerNumberModel能够处理浮动,但您必须将它们作为Float对象来处理。有一个构造函数,它接受数字和可比较的对象 但请记住,float不能表示这么小的数字。为了获得如此高的精度,您应该使用BigDecimal类,它也是Number的子类()以下是Java的Numbe
SpinnerNumberModel
能够处理浮动,但您必须将它们作为Float
对象来处理。有一个构造函数,它接受数字
和可比较的
对象
但请记住,float不能表示这么小的数字。为了获得如此高的精度,您应该使用
BigDecimal
类,它也是Number
的子类()以下是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 value = new Float(50.28817271727);
Float step = new Float(5.29182);
SpinnerNumberModel model = new SpinnerNumberModel(value, null, null, step);
编辑:添加了BigDecimal部分OK我真的不明白为什么我不能使用double,我也有类似的东西,但我不明白为什么它不起作用!谁告诉你只使用浮点数?