📄 numberhelper.java
字号:
package com.reddragon2046.base.utilities.data.predicates;
import java.math.BigDecimal;
import java.math.BigInteger;
final class NumberHelper
{
private NumberHelper()
{
}
static BigDecimal asBigDecimal(Number n)
{
return (n instanceof BigDecimal) ? (BigDecimal)n : new BigDecimal(n.toString());
}
static BigInteger asBigInteger(Number n)
{
return (n instanceof BigInteger) ? (BigInteger)n : asBigDecimal(n).toBigInteger();
}
static int compare(Number n1, Number n2, Class mode)
{
if(mode.equals(java.lang.Integer.class))
return n1.intValue() >= n2.intValue() ? ((int) (n1.intValue() <= n2.intValue() ? 0 : 1)) : -1;
if(mode.equals(java.lang.Long.class))
return n1.longValue() >= n2.longValue() ? ((int) (n1.longValue() <= n2.longValue() ? 0 : 1)) : -1;
if(mode.equals(java.lang.Float.class))
return n1.floatValue() >= n2.floatValue() ? ((int) (n1.floatValue() <= n2.floatValue() ? 0 : 1)) : -1;
if(mode.equals(java.lang.Double.class))
return n1.doubleValue() >= n2.doubleValue() ? ((int) (n1.doubleValue() <= n2.doubleValue() ? 0 : 1)) : -1;
if(mode.equals(java.lang.Byte.class))
return n1.byteValue() >= n2.byteValue() ? ((int) (n1.byteValue() <= n2.byteValue() ? 0 : 1)) : -1;
if(mode.equals(java.lang.Short.class))
return n1.shortValue() >= n2.shortValue() ? ((int) (n1.shortValue() <= n2.shortValue() ? 0 : 1)) : -1;
if(mode.equals(java.math.BigInteger.class))
return asBigInteger(n1).compareTo(asBigInteger(n2));
if(mode.equals(java.math.BigDecimal.class))
return asBigDecimal(n1).compareTo(asBigDecimal(n2));
else
throw new IllegalArgumentException("unknown subclass of java.lang.Number: " + mode.getClass());
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -