//数字计算
@Test
public void test14(){
//会将double转为BigDecimal后计算
double te1=123456.123456;
double te2=123456.128456;
//加减乘除 add sub div mul
Console.log(NumberUtil.add(1+1));
//选择保留小数位数 ,可以选择四舍五入或者全部舍弃等模式
Console.log(NumberUtil.round(te1,4));//结果:123456.1235
Console.log(NumberUtil.round(te2,4));//结果:123456.1285
//选择保留小数位数 ,四舍五入
Console.log(NumberUtil.roundStr(te1,2));//结果:123456.12
Console.log(NumberUtil.roundStr(te2,2));//结果:123456.13
// 针对 DecimalFormat.format进行简单封装。按照固定格式对double或long类型的数字做格式化操作。
long c=299792458;//光速
//更多格式
// 0 -> 取一位整数
// 0.00 -> 取一位整数和两位小数
// 00.000 -> 取两位整数和三位小数
// # -> 取所有整数部分
// #.##% -> 以百分比方式计数,并取两位小数
// #.#####E0 -> 显示为科学计数法,并取五位小数
// ,### -> 每三位以逗号进行分隔,例如:299,792,458
// 光速大小为每秒,###米 -> 将格式嵌入文本
String format = NumberUtil.decimalFormat(",###", c);//299,792,458
//生成不重复随机数(指定起始大小和输出个数)
Console.log(NumberUtil.generateRandomNumber(1,1000,9));
//方法根据范围和步进,生成一个有序整数列表
Console.log(NumberUtil.range(1,1000,8));
// 将给定范围内的整数添加到已有集合中
NumberUtil.appendRange(1, 10, 2, new ArrayList<Integer>() {
});
//其他一些方法
// NumberUtil.factorial 阶乘
// NumberUtil.sqrt 平方根
// NumberUtil.divisor 最大公约数
// NumberUtil.multiple 最小公倍数
// NumberUtil.getBinaryStr 获得数字对应的二进制字符串
// NumberUtil.binaryToInt 二进制转int
// NumberUtil.binaryToLong 二进制转long
// NumberUtil.compare 比较两个值的大小
// NumberUtil.toStr 数字转字符串,自动并去除尾小数点儿后多余的0
}
最后
以上就是英勇煎蛋最近收集整理的关于hutool- 数字计算的全部内容,更多相关hutool-内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复