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;
|
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,否则返回原值
|
* 如果给定值为0,返回1,否则返回原值
|
||||||
*
|
*
|
||||||
@ -1030,10 +1019,93 @@ public class NumberUtil extends NumberValidator {
|
|||||||
* @return 1或非0值
|
* @return 1或非0值
|
||||||
* @since 3.1.2
|
* @since 3.1.2
|
||||||
*/
|
*/
|
||||||
public static int zero2One(final int value) {
|
public static int zeroToOne(final int value) {
|
||||||
return 0 == value ? 1 : 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>
|
* 创建{@link BigInteger},支持16进制、10进制和8进制,如果传入空白串返回null<br>
|
||||||
* from Apache Common Lang
|
* from Apache Common Lang
|
||||||
|
@ -21,6 +21,7 @@ import org.junit.jupiter.api.condition.EnabledForJreRange;
|
|||||||
import org.junit.jupiter.api.condition.JRE;
|
import org.junit.jupiter.api.condition.JRE;
|
||||||
|
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
|
import java.math.BigInteger;
|
||||||
import java.math.RoundingMode;
|
import java.math.RoundingMode;
|
||||||
import java.text.NumberFormat;
|
import java.text.NumberFormat;
|
||||||
import java.text.ParseException;
|
import java.text.ParseException;
|
||||||
@ -754,4 +755,17 @@ public class NumberUtilTest {
|
|||||||
"123,456,789.111111",
|
"123,456,789.111111",
|
||||||
NumberUtil.formatThousands(123456789.111111D, 6));
|
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