Package freemarker.template.utility
Class NumberUtil
java.lang.Object
freemarker.template.utility.NumberUtil
Number- and math-related utilities.
- Since:
- 2.3.20
-
Method Summary
Modifier and TypeMethodDescriptionstatic int
static boolean
Tells if the type of the parameter number is known to not be able to represent infinite (positive or negative) and NaN.static boolean
isInfinite(Number num)
static boolean
Tells if aBigDecimal
stores a whole number.static boolean
static int
toIntExact(Number num)
Converts aNumber
toint
whose mathematical value is exactly the same as of the original number.
-
Method Details
-
isInfinite
-
isNaN
-
getSignum
- Returns:
- -1 for negative, 0 for zero, 1 for positive.
- Throws:
ArithmeticException
- if the number is NaN
-
isIntegerBigDecimal
Tells if aBigDecimal
stores a whole number. For example, it returnstrue
for1.0000
, butfalse
for1.0001
.- Since:
- 2.3.21
-
hasTypeThatIsKnownToNotSupportInfiniteAndNaN
Tells if the type of the parameter number is known to not be able to represent infinite (positive or negative) and NaN. If this returnsfalse
, that doesn't mean that it can do that, because it's maybe just that this utility doesn't know that type.- Since:
- 2.3.28
-
toIntExact
Converts aNumber
toint
whose mathematical value is exactly the same as of the original number.- Throws:
ArithmeticException
- if the conversion toint
is not possible without losing precision or overflow/underflow.- Since:
- 2.3.22
-