public interface IonFloat extends IonValue
float
value.
WARNING: This interface should not be implemented or extended by code outside of this library.
decimal
values instead.
Please read the
Decimal Arithmetic
FAQ for horror stories.
If you have any doubt whatsoever on whether you should use float
or
decimal
, then you should use decimal
.
IonDecimal
EMPTY_ARRAY
Modifier and Type | Method and Description |
---|---|
BigDecimal |
bigDecimalValue()
Gets the value of this Ion
float as a Java BigDecimal . |
IonFloat |
clone()
Creates a copy of this value and all of its children.
|
double |
doubleValue()
Gets the value of this Ion
float as a Java
double value. |
float |
floatValue()
Gets the value of this Ion
float as a Java
float value. |
boolean |
isNumericValue()
Determines whether this value is numeric.
|
void |
setValue(BigDecimal value)
Sets the value of this element.
|
void |
setValue(double value)
Sets the value of this element.
|
void |
setValue(float value)
Sets the value of this element.
|
accept, addTypeAnnotation, clearTypeAnnotations, equals, getContainer, getFieldName, getFieldNameSymbol, getSymbolTable, getSystem, getType, getTypeAnnotations, getTypeAnnotationSymbols, hashCode, hasTypeAnnotation, isNullValue, isReadOnly, makeReadOnly, removeFromContainer, removeTypeAnnotation, setTypeAnnotations, setTypeAnnotationSymbols, topLevelValue, toPrettyString, toString, toString, writeTo
float floatValue() throws NullValueException
float
as a Java
float
value.NullValueException
- if this.isNullValue()
.double doubleValue() throws NullValueException
float
as a Java
double
value.NullValueException
- if this.isNullValue()
.BigDecimal bigDecimalValue() throws NullValueException
float
as a Java BigDecimal
.
This follows the behavior of BigDecimal.valueOf(double)
. It's
recommended to call isNumericValue()
before calling
this method.BigDecimal
value, or null
if
this.isNullValue()
.NumberFormatException
- if this value is nan
,
+inf
, or -inf
, because BigDecimal
cannot
represent those values.NullValueException
void setValue(float value)
void setValue(double value)
void setValue(BigDecimal value)
float
s are essentially Java double
s,
this performs a narrowing conversion as described by
BigDecimal.doubleValue()
.value
- the new value of this float;
may be null
to make this null.float
.boolean isNumericValue()
null
, nan
, +inf
, and -inf
,
and false if it is any of them.IonFloat clone() throws UnknownSymbolException
IonValue
IonValue.isReadOnly()
.
The cloned value will be created in the context of the same
ValueFactory
as this instance; if you want a copy using a
different factory, then use ValueFactory.clone(IonValue)
instead.
clone
in interface IonValue
UnknownSymbolException
- if any part of this value has unknown text but known Sid for
its field name, annotation or symbol.