mirror of
https://gitee.com/chinabugotech/hutool.git
synced 2025-04-19 03:01:48 +08:00
nullToZero增加重载
This commit is contained in:
parent
7c0c13cfe0
commit
d0453f6776
@ -1012,17 +1012,6 @@ public class NumberUtil extends NumberValidator {
|
||||
return (total + pageSize - 1) / pageSize;
|
||||
}
|
||||
|
||||
/**
|
||||
* 空转0
|
||||
*
|
||||
* @param decimal {@link BigDecimal},可以为{@code null}
|
||||
* @return {@link BigDecimal}参数为空时返回0的值
|
||||
* @since 3.0.9
|
||||
*/
|
||||
public static BigDecimal null2Zero(final BigDecimal decimal) {
|
||||
return ObjUtil.defaultIfNull(decimal, BigDecimal.ZERO);
|
||||
}
|
||||
|
||||
/**
|
||||
* 如果给定值为0,返回1,否则返回原值
|
||||
*
|
||||
@ -1030,10 +1019,93 @@ public class NumberUtil extends NumberValidator {
|
||||
* @return 1或非0值
|
||||
* @since 3.1.2
|
||||
*/
|
||||
public static int zero2One(final int value) {
|
||||
public static int zeroToOne(final int value) {
|
||||
return 0 == value ? 1 : value;
|
||||
}
|
||||
|
||||
// region nullToZero
|
||||
/**
|
||||
* 如果给定值为0,返回1,否则返回原值
|
||||
*
|
||||
* @param number 值
|
||||
* @return 1或非0值
|
||||
*/
|
||||
public static int nullToZero(final Integer number) {
|
||||
return number == null ? 0 : number;
|
||||
}
|
||||
|
||||
/**
|
||||
* 如果给定值为0,返回1,否则返回原值
|
||||
*
|
||||
* @param number 值
|
||||
* @return 1或非0值
|
||||
*/
|
||||
public static long nullToZero(final Long number) {
|
||||
return number == null ? 0L : number;
|
||||
}
|
||||
|
||||
/**
|
||||
* 如果给定值为0,返回1,否则返回原值
|
||||
*
|
||||
* @param number 值
|
||||
* @return 1或非0值
|
||||
*/
|
||||
public static double nullToZero(final Double number) {
|
||||
return number == null ? 0.0 : number;
|
||||
}
|
||||
|
||||
/**
|
||||
* 如果给定值为0,返回1,否则返回原值
|
||||
*
|
||||
* @param number 值
|
||||
* @return 1或非0值
|
||||
*/
|
||||
public static float nullToZero(final Float number) {
|
||||
return number == null ? 0.0f : number;
|
||||
}
|
||||
|
||||
/**
|
||||
* 如果给定值为0,返回1,否则返回原值
|
||||
*
|
||||
* @param number 值
|
||||
* @return 1或非0值
|
||||
*/
|
||||
public static short nullToZero(final Short number) {
|
||||
return number == null ? (short) 0 : number;
|
||||
}
|
||||
|
||||
/**
|
||||
* 如果给定值为0,返回1,否则返回原值
|
||||
*
|
||||
* @param number 值
|
||||
* @return 1或非0值
|
||||
*/
|
||||
public static byte nullToZero(final Byte number) {
|
||||
return number == null ? (byte) 0 : number;
|
||||
}
|
||||
|
||||
/**
|
||||
* 如果给定值为0,返回1,否则返回原值
|
||||
*
|
||||
* @param number 值
|
||||
* @return 1或非0值
|
||||
*/
|
||||
public static BigInteger nullToZero(final BigInteger number) {
|
||||
return number == null ? BigInteger.ZERO : number;
|
||||
}
|
||||
|
||||
/**
|
||||
* 空转0
|
||||
*
|
||||
* @param decimal {@link BigDecimal},可以为{@code null}
|
||||
* @return {@link BigDecimal}参数为空时返回0的值
|
||||
* @since 3.0.9
|
||||
*/
|
||||
public static BigDecimal nullToZero(final BigDecimal decimal) {
|
||||
return ObjUtil.defaultIfNull(decimal, BigDecimal.ZERO);
|
||||
}
|
||||
// endregion
|
||||
|
||||
/**
|
||||
* 创建{@link BigInteger},支持16进制、10进制和8进制,如果传入空白串返回null<br>
|
||||
* from Apache Common Lang
|
||||
|
@ -21,6 +21,7 @@ import org.junit.jupiter.api.condition.EnabledForJreRange;
|
||||
import org.junit.jupiter.api.condition.JRE;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.math.BigInteger;
|
||||
import java.math.RoundingMode;
|
||||
import java.text.NumberFormat;
|
||||
import java.text.ParseException;
|
||||
@ -754,4 +755,17 @@ public class NumberUtilTest {
|
||||
"123,456,789.111111",
|
||||
NumberUtil.formatThousands(123456789.111111D, 6));
|
||||
}
|
||||
|
||||
@Test
|
||||
void nullToZeroTest() {
|
||||
Assertions.assertEquals(0, NumberUtil.nullToZero((Integer)null));
|
||||
Assertions.assertEquals(0L, NumberUtil.nullToZero((Long)null));
|
||||
Assertions.assertEquals(0D, NumberUtil.nullToZero((Double)null));
|
||||
Assertions.assertEquals(0D, NumberUtil.nullToZero((Double)null));
|
||||
Assertions.assertEquals(0F, NumberUtil.nullToZero((Float) null));
|
||||
Assertions.assertEquals(0, NumberUtil.nullToZero((Short) null));
|
||||
Assertions.assertEquals(0, NumberUtil.nullToZero((Byte) null));
|
||||
Assertions.assertEquals(BigDecimal.ZERO, NumberUtil.nullToZero((BigDecimal) null));
|
||||
Assertions.assertEquals(BigInteger.ZERO, NumberUtil.nullToZero((BigInteger) null));
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user