cubetiq-common-utils-module/src/main/java/com/cubetiqs/util/MathUtils.java

50 lines
1.2 KiB
Java

package com.cubetiqs.util;
import org.jetbrains.annotations.NotNull;
import java.math.RoundingMode;
/**
* Math Libra helper
*
* @author sombochea
* @since 1.0
*/
public final class MathUtils {
/**
* Math Float Round for Double.
* Example: 9.999999 ... n => 10
* 9.99 => 9.99
*/
public static Double fround(Number value, int precision, RoundingMode roundingMode) {
if (StringUtils.isNull(value)) {
return 0D;
}
if (StringUtils.isNull(roundingMode)) {
roundingMode = RoundingMode.HALF_DOWN;
}
return ParserUtils.toDouble(NumberUtils.toDecimalPrecision(value, precision, roundingMode));
}
public static Double getPrecisionValue(Number value) {
if (StringUtils.isNull(value)) {
return 0D;
}
return ParserUtils.toDouble(value) - ParserUtils.toInt(value);
}
@NotNull
public static Double minus(Number value1, Number value2) {
if (StringUtils.isNull(value1)) {
return 0D;
}
if (StringUtils.isNull(value2)) {
return 0D;
}
return ParserUtils.toDouble(value1) - ParserUtils.toDouble(value2);
}
}