如何将双精度值设置为“非值”
我在一个对象中有两个双精度数据元素。
有时它们被设置为适当的值,有时则没有。当接收它们值的表单字段未填充时,我想将它们设置为某个值,该值告诉我,在代码的其余部分,表单字段留空。
我无法将值设置为null,因为这会产生错误,是否有某种方法可以使它们“未定义”。
PS.我不仅不确定这是否可能,而且可能也没有意义。但是,如果在这种情况下有一些最佳实践,我会很想听听。
我在一个对象中有两个双精度数据元素。
有时它们被设置为适当的值,有时则没有。当接收它们值的表单字段未填充时,我想将它们设置为某个值,该值告诉我,在代码的其余部分,表单字段留空。
我无法将值设置为null,因为这会产生错误,是否有某种方法可以使它们“未定义”。
PS.我不仅不确定这是否可能,而且可能也没有意义。但是,如果在这种情况下有一些最佳实践,我会很想听听。
两个明显的选择:
Double
double
null
使用“非数字”(NaN) 值:
double d = 5.5;
System.out.println(Double.isNaN(d)); // false
d = Double.NaN;
System.out.println(Double.isNaN(d)); // true
请注意,对“正常”数字的其他一些操作也可以为您提供NaN值(例如,0除以0)。