All Downloads are FREE. Search and download functionalities are using the official Maven repository.

io.nuls.core.model.LongUtils Maven / Gradle / Ivy

package io.nuls.core.model;

import java.math.BigInteger;

/**
 * @author tag
 * */
public class LongUtils {
    /**
     * 两个long型数据相加
     * @param val1  被加数
     * @param val2  加数
     * @return      和
     * */
    public static long add(long val1, long val2) {
        BigInteger value1 = BigInteger.valueOf(val1);
        BigInteger value2 = BigInteger.valueOf(val2);
        return value1.add(value2).longValue();
    }


    /**
     * 两个long型数据相差
     * @param val1  被减数
     * @param val2  减数
     * @return      差
     * */
    public static long sub(long val1, long val2) {
        BigInteger value1 = BigInteger.valueOf(val1);
        BigInteger value2 = BigInteger.valueOf(val2);
        return value1.subtract(value2).longValue();
    }

    /**
     * 两个long型数据相乘
     * @param val1  被乘数
     * @param val2  乘数
     * @return      积
     * */
    public static long mul(long val1, long val2) {
        BigInteger value1 = BigInteger.valueOf(val1);
        BigInteger value2 = BigInteger.valueOf(val2);
        return value1.multiply(value2).longValue();
    }


    /**
     * 两个long型数据相除,保留默认小数位(8位)
     * @param val1  被除数
     * @param val2  除数
     * @return      商
     * */
    public static double exactDiv(long val1, long val2) {
        return DoubleUtils.div(val1, val2);
    }


    /**
     * 两个long型数据相除,去掉小数位
     * @param val1  被除数
     * @param val2  除数
     * @return      商
     * */
    public static long div(long val1, long val2) {
        BigInteger value1 = BigInteger.valueOf(val1);
        BigInteger value2 = BigInteger.valueOf(val2);
        return value1.divide(value2).longValue();
    }

    /**
     * 两个long型数据求余数
     * @param val1  被除数
     * @param val2  除数
     * @return      余数
     * */
    public static long mod(long val1, long val2) {
        BigInteger value1 = BigInteger.valueOf(val1);
        BigInteger value2 = BigInteger.valueOf(val2);
        return value1.mod(value2).longValue();
    }

    /**
     * 随机生成一个Long型数据
     * @return  long
     * */
    public static long randomLong() {
        return (long) (Math.random() * Long.MAX_VALUE);
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy