public class BigDecimalUtil extends Object
| Modifier and Type | Class and Description |
|---|---|
static class |
BigDecimalUtil.W
null treated as zero, not thread safe.
|
| Constructor and Description |
|---|
BigDecimalUtil() |
| Modifier and Type | Method and Description |
|---|---|
static @NotNull BigDecimal |
add(Object a,
Object b) |
static @NotNull BigDecimal |
add(Object a,
Object b,
Object... nums) |
static BigDecimal |
addElse(BigDecimal elze,
Object a,
Object b) |
static BigDecimal |
addElse(BigDecimal elze,
Object a,
Object b,
Object... nums) |
static @NotNull BigDecimal |
addMap(Iterable<?> nums) |
static <T> @NotNull BigDecimal |
addMap(Iterable<T> nums,
Function<? super T,?> mapper) |
static BigDecimal |
addMapElse(BigDecimal elze,
Iterable<?> nums) |
static <T> BigDecimal |
addMapElse(BigDecimal elze,
Iterable<T> nums,
Function<? super T,?> mapper) |
static @Nullable BigDecimal |
addMapNull(Iterable<?> nums) |
static <T> @Nullable BigDecimal |
addMapNull(Iterable<T> nums,
Function<? super T,?> mapper) |
static @Nullable BigDecimal |
addNull(Object a,
Object b) |
static @Nullable BigDecimal |
addNull(Object a,
Object b,
Object... nums) |
static @NotNull BigDecimal |
avg(Object... nums)
skip null num and get the average, NullPointerException if get null.
|
static @NotNull BigDecimal |
avgMap(Iterable<?> nums)
skip null num and get the average, NullPointerException if get null.
|
static <T> @NotNull BigDecimal |
avgMap(Iterable<T> nums,
Function<? super T,?> mapper)
skip null num and get the average, NullPointerException if get null.
|
static @Nullable BigDecimal |
avgMapNull(Iterable<?> nums)
skip null num and get the average
|
static <T> @Nullable BigDecimal |
avgMapNull(Iterable<T> nums,
Function<? super T,?> mapper)
mapping and skip null num and get the average
|
static @Nullable BigDecimal |
avgNull(Object... nums)
skip null num and get the average
|
static @NotNull BigDecimal |
ceil(Object num,
int scale)
Remove all digit after `scale` (exclude), then
ceil the `num`.
|
static int |
compareTo(Object a,
Object b)
parse and compare the number, null less than any number
|
static int |
compareTo(Object a,
Object b,
int scale,
RoundingMode mode)
parse, round and compare the number, null less than any number
|
static @NotNull BigDecimal |
div(Object a,
Object b) |
static @NotNull BigDecimal |
div(Object a,
Object b,
Object... nums) |
static @NotNull BigDecimal |
divMap(Object a,
Iterable<?> cols) |
static <T> @NotNull BigDecimal |
divMap(Object a,
Iterable<T> cols,
Function<? super T,?> mapper) |
static boolean |
equalsValue(Object a,
Object b) |
static boolean |
equalsValue(Object a,
Object b,
int scale,
RoundingMode mode)
parse, round and compare the number, null == null, null != notnull
|
static @NotNull BigDecimal |
floor(Object num,
int scale)
Remove all digit after `scale` (exclude), then
floor the `num`.
|
static @NotNull BigDecimal |
ifElse(boolean cond,
Object a,
Object b)
parse `a` if `cond`, else `b`, NullPointerException if all null.
|
static @NotNull BigDecimal |
max(Object... nums) |
static @NotNull BigDecimal |
maxMap(Iterable<?> cols) |
static <T> @NotNull BigDecimal |
maxMap(Iterable<T> cols,
Function<? super T,?> mapper) |
static @Nullable BigDecimal |
maxMapNull(Iterable<?> cols) |
static <T> @Nullable BigDecimal |
maxMapNull(Iterable<T> cols,
Function<? super T,?> mapper) |
static @Nullable BigDecimal |
maxNull(Object... nums) |
static @NotNull BigDecimal |
min(Object... nums) |
static @NotNull BigDecimal |
minMap(Iterable<?> cols) |
static <T> @NotNull BigDecimal |
minMap(Iterable<T> cols,
Function<? super T,?> mapper) |
static @Nullable BigDecimal |
minMapNull(Iterable<?> cols) |
static <T> @Nullable BigDecimal |
minMapNull(Iterable<T> cols,
Function<? super T,?> mapper) |
static @Nullable BigDecimal |
minNull(Object... nums) |
static @NotNull BigDecimal |
mul(Object a,
Object b) |
static @NotNull BigDecimal |
mul(Object a,
Object b,
Object... nums) |
static BigDecimal |
mulElse(BigDecimal e,
Object a,
Object b) |
static BigDecimal |
mulElse(BigDecimal e,
Object a,
Object b,
Object... nums) |
static @NotNull BigDecimal |
mulMap(Iterable<?> cols) |
static <T> @NotNull BigDecimal |
mulMap(Iterable<T> cols,
Function<? super T,?> mapper) |
static <T> BigDecimal |
mulMapElse(BigDecimal e,
Iterable<T> cols) |
static <T> BigDecimal |
mulMapElse(BigDecimal e,
Iterable<T> cols,
Function<? super T,?> mapper) |
static @Nullable BigDecimal |
mulMapNull(Iterable<?> cols) |
static <T> @Nullable BigDecimal |
mulMapNull(Iterable<T> cols,
Function<? super T,?> mapper) |
static @Nullable BigDecimal |
mulNull(Object a,
Object b) |
static @Nullable BigDecimal |
mulNull(Object a,
Object b,
Object... nums) |
static @NotNull BigDecimal |
neg(Object num) |
static @Nullable BigDecimal |
negNull(Object num) |
static @NotNull BigDecimal |
notNull(Object... nums)
get the first parsed non-null number, NullPointerException if all null.
|
static BigDecimal |
object(Object num)
convert `num` object to BigDecimal
|
static BigDecimal |
object(Object num,
BigDecimal elze)
convert `num` object to BigDecimal, return `elze` if `num` is null.
|
static BigDecimal |
object(Object num,
BigDecimal elze,
boolean fail)
convert `num` object to BigDecimal, return `elze` if `num` is null.
|
static @NotNull BigDecimal[] |
objects(BigDecimal elze,
Object... nums) |
static @NotNull BigDecimal |
pow(Object num,
int n) |
static BigDecimal |
powNull(Object num,
int n) |
static @NotNull BigDecimal |
prd(Object a,
Object b,
Object... nums)
product `a`, `b` and `sums`
|
static @NotNull BigDecimal |
prdMap(Iterable<?> cols) |
static <T> @NotNull BigDecimal |
prdMap(Iterable<T> cols,
Function<? super T,?> mapper) |
static @NotNull BigDecimal |
round(Object num,
int scale)
Remove all digit after `scale` (exclude), then
round the `num`.
|
static @NotNull BigDecimal |
scale(Object num,
int scale,
RoundingMode mode)
Remove all digit after `scale` (exclude), then apply RoundingMode
|
static @NotNull String |
string(BigDecimal num)
Return empty if `num` is null
|
static @NotNull String |
string(BigDecimal num,
boolean strip)
Remove zeros at the end if `strip`.
|
static @NotNull String |
string(BigDecimal num,
int scale)
Remove all digit after `scale` (exclude) then `ceil` the number.
|
static @NotNull String |
string(BigDecimal num,
int scale,
boolean strip)
Remove all digit after `scale` (exclude), then `ceil` the number
Remove zeros at the end if `strip`.
|
static String |
string(BigDecimal num,
String elze)
Return `elze` if `num` is null
|
static String |
string(BigDecimal num,
String elze,
boolean strip)
Return `elze` if `num` null.
|
static @NotNull BigDecimal |
sub(Object a,
Object b) |
static @NotNull BigDecimal |
sub(Object a,
Object b,
Object... nums) |
static @NotNull BigDecimal |
subMap(Object a,
Iterable<?> nums) |
static <T> @NotNull BigDecimal |
subMap(Object a,
Iterable<T> nums,
Function<? super T,?> mapper) |
static @NotNull BigDecimal |
sum(Object a,
Object b,
Object... nums)
sum `a`, `b` and `nums`, return zero if result is null
|
static @NotNull BigDecimal |
sumMap(Iterable<?> nums)
sum `nums`, return zero if result is null
|
static <T> @NotNull BigDecimal |
sumMap(Iterable<T> nums,
Function<? super T,?> mapper)
mapping and sum `nums`, return zero if get null
|
static @NotNull BigDecimal |
unitDown(Object num,
@NotNull BigDecimal unit,
@NotNull BigDecimal accuracy)
The `unit` is round down, and scale is based on unit.
|
static @NotNull BigDecimal |
unitUp(Object num,
@NotNull BigDecimal unit,
@NotNull BigDecimal accuracy)
The `unit` is round up, and scale is based on unit.
|
static @NotNull BigDecimalUtil.W |
w(BigDecimal v,
int scale) |
static @NotNull BigDecimalUtil.W |
w(Object v) |
@NotNull public static @NotNull String string(BigDecimal num)
@NotNull public static @NotNull String string(BigDecimal num, int scale)
public static String string(BigDecimal num, String elze)
@NotNull public static @NotNull String string(BigDecimal num, boolean strip)
@NotNull public static @NotNull String string(BigDecimal num, int scale, boolean strip)
Remove all digit after `scale` (exclude), then `ceil` the number Remove zeros at the end if `strip`.
public static String string(BigDecimal num, String elze, boolean strip)
Return `elze` if `num` null. Remove all digit after `scale` (exclude), then `ceil` the number Remove zeros at the end if `strip`.
@Contract(value="!null -> !null") public static BigDecimal object(Object num)
@Contract(value="_, !null -> !null") public static BigDecimal object(Object num, BigDecimal elze)
@Contract(value="_, !null, _ -> !null") public static BigDecimal object(Object num, BigDecimal elze, boolean fail)
@NotNull public static @NotNull BigDecimal[] objects(BigDecimal elze, Object... nums)
@NotNull public static @NotNull BigDecimal notNull(Object... nums)
@NotNull public static @NotNull BigDecimal ifElse(boolean cond, Object a, Object b)
@NotNull public static @NotNull BigDecimal avg(Object... nums)
@NotNull public static @NotNull BigDecimal avgMap(Iterable<?> nums)
@NotNull public static <T> @NotNull BigDecimal avgMap(Iterable<T> nums, Function<? super T,?> mapper)
@Nullable public static @Nullable BigDecimal avgNull(Object... nums)
@Nullable public static @Nullable BigDecimal avgMapNull(Iterable<?> nums)
@Nullable public static <T> @Nullable BigDecimal avgMapNull(Iterable<T> nums, Function<? super T,?> mapper)
@NotNull public static @NotNull BigDecimal max(Object... nums)
@NotNull public static @NotNull BigDecimal maxMap(Iterable<?> cols)
@NotNull public static <T> @NotNull BigDecimal maxMap(Iterable<T> cols, Function<? super T,?> mapper)
@Nullable public static @Nullable BigDecimal maxNull(Object... nums)
@Nullable public static @Nullable BigDecimal maxMapNull(Iterable<?> cols)
@Nullable public static <T> @Nullable BigDecimal maxMapNull(Iterable<T> cols, Function<? super T,?> mapper)
@NotNull public static @NotNull BigDecimal min(Object... nums)
@NotNull public static @NotNull BigDecimal minMap(Iterable<?> cols)
@NotNull public static <T> @NotNull BigDecimal minMap(Iterable<T> cols, Function<? super T,?> mapper)
@Nullable public static @Nullable BigDecimal minNull(Object... nums)
@Nullable public static @Nullable BigDecimal minMapNull(Iterable<?> cols)
@Nullable public static <T> @Nullable BigDecimal minMapNull(Iterable<T> cols, Function<? super T,?> mapper)
@NotNull public static @NotNull BigDecimal sum(Object a, Object b, Object... nums)
@NotNull public static @NotNull BigDecimal sumMap(Iterable<?> nums)
@NotNull public static <T> @NotNull BigDecimal sumMap(Iterable<T> nums, Function<? super T,?> mapper)
@NotNull public static @NotNull BigDecimal add(Object a, Object b)
@NotNull public static @NotNull BigDecimal add(Object a, Object b, Object... nums)
@NotNull public static @NotNull BigDecimal addMap(Iterable<?> nums)
@NotNull public static <T> @NotNull BigDecimal addMap(Iterable<T> nums, Function<? super T,?> mapper)
@Contract(value="!null,_,_ -> !null") public static BigDecimal addElse(BigDecimal elze, Object a, Object b)
@Contract(value="!null,_,_,_ -> !null") public static BigDecimal addElse(BigDecimal elze, Object a, Object b, Object... nums)
@Contract(value="!null,_ -> !null") public static BigDecimal addMapElse(BigDecimal elze, Iterable<?> nums)
@Contract(value="!null,_,_ -> !null") public static <T> BigDecimal addMapElse(BigDecimal elze, Iterable<T> nums, Function<? super T,?> mapper)
@Nullable public static @Nullable BigDecimal addNull(Object a, Object b)
@Nullable public static @Nullable BigDecimal addNull(Object a, Object b, Object... nums)
@Nullable public static @Nullable BigDecimal addMapNull(Iterable<?> nums)
@Nullable public static <T> @Nullable BigDecimal addMapNull(Iterable<T> nums, Function<? super T,?> mapper)
@NotNull public static @NotNull BigDecimal sub(Object a, Object b)
@NotNull public static @NotNull BigDecimal sub(Object a, Object b, Object... nums)
@NotNull public static @NotNull BigDecimal subMap(Object a, Iterable<?> nums)
@NotNull public static <T> @NotNull BigDecimal subMap(Object a, Iterable<T> nums, Function<? super T,?> mapper)
@NotNull public static @NotNull BigDecimal prd(Object a, Object b, Object... nums)
@NotNull public static @NotNull BigDecimal prdMap(Iterable<?> cols)
@NotNull public static <T> @NotNull BigDecimal prdMap(Iterable<T> cols, Function<? super T,?> mapper)
@NotNull public static @NotNull BigDecimal mul(Object a, Object b)
@NotNull public static @NotNull BigDecimal mul(Object a, Object b, Object... nums)
@NotNull public static @NotNull BigDecimal mulMap(Iterable<?> cols)
@NotNull public static <T> @NotNull BigDecimal mulMap(Iterable<T> cols, Function<? super T,?> mapper)
@Contract(value="!null,_,_ -> !null") public static BigDecimal mulElse(BigDecimal e, Object a, Object b)
@Contract(value="!null,_,_,_ -> !null") public static BigDecimal mulElse(BigDecimal e, Object a, Object b, Object... nums)
@Contract(value="!null,_ -> !null") public static <T> BigDecimal mulMapElse(BigDecimal e, Iterable<T> cols)
@Contract(value="!null,_,_ -> !null") public static <T> BigDecimal mulMapElse(BigDecimal e, Iterable<T> cols, Function<? super T,?> mapper)
@Nullable public static @Nullable BigDecimal mulNull(Object a, Object b)
@Nullable public static @Nullable BigDecimal mulNull(Object a, Object b, Object... nums)
@Nullable public static @Nullable BigDecimal mulMapNull(Iterable<?> cols)
@Nullable public static <T> @Nullable BigDecimal mulMapNull(Iterable<T> cols, Function<? super T,?> mapper)
@NotNull public static @NotNull BigDecimal div(Object a, Object b)
@NotNull public static @NotNull BigDecimal div(Object a, Object b, Object... nums)
@NotNull public static @NotNull BigDecimal divMap(Object a, Iterable<?> cols)
@NotNull public static <T> @NotNull BigDecimal divMap(Object a, Iterable<T> cols, Function<? super T,?> mapper)
@NotNull public static @NotNull BigDecimal pow(Object num, int n)
public static BigDecimal powNull(Object num, int n)
@NotNull public static @NotNull BigDecimal neg(Object num)
@Nullable public static @Nullable BigDecimal negNull(Object num)
@NotNull public static @NotNull BigDecimal ceil(Object num, int scale)
@NotNull public static @NotNull BigDecimal floor(Object num, int scale)
@NotNull public static @NotNull BigDecimal round(Object num, int scale)
@NotNull public static @NotNull BigDecimal scale(Object num, int scale, RoundingMode mode)
@NotNull public static @NotNull BigDecimal unitUp(Object num, @NotNull @NotNull BigDecimal unit, @NotNull @NotNull BigDecimal accuracy)
The `unit` is round up, and scale is based on unit. Take weighing and pricing as an example, pricing unit=0.5, weighing accuracy=0.01 When x > 0.1, treated as 0.5, otherwise treated as 0. When x > 0.6, treated as 1, otherwise treated as 0.5.
num - the numberunit - the unitaccuracy - less than or equal to the value is rounded off@NotNull public static @NotNull BigDecimal unitDown(Object num, @NotNull @NotNull BigDecimal unit, @NotNull @NotNull BigDecimal accuracy)
The `unit` is round down, and scale is based on unit. Take weighing and pricing as an example, pricing unit=0.5, weighing accuracy=0.01 When x > 0.4, treated as 0.5, otherwise treated as 0. When x > 0.9, treated as 1, otherwise treated as 0.5.
num - the numberunit - the unitaccuracy - greater than or equal to the value is rounded uppublic static int compareTo(Object a, Object b)
public static int compareTo(Object a, Object b, int scale, RoundingMode mode)
public static boolean equalsValue(Object a, Object b, int scale, RoundingMode mode)
@NotNull public static @NotNull BigDecimalUtil.W w(Object v)
@NotNull public static @NotNull BigDecimalUtil.W w(BigDecimal v, int scale)
Copyright © 2024. All rights reserved.