NumberUtils 介绍
一、官方API地址
官网地址:NumberUtils.html
二、NumberUtils 常用API
1.导入POM文件
这里使用的是:3.9 的版本,还是比较新的
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.9</version>
</dependency>
2.常用API介绍
方法名 | 方法介绍 |
---|---|
compare | 比较两个数的大小,参数1比参数2大,返回1,否则返回-1 |
createInteger | 通过字符串创建Integer |
createLong | 通过字符串创建Long |
createFloat | 通过字符串创建Float |
createDouble | 通过字符串创建Double |
createNumber | 通过字符串创建Number |
createBigInteger | 通过字符串创建BigInteger |
createBigDecimal | 通过字符串创建BigDecimal类型,支持long、int、float、double、number等数值 |
isCreatable | 检查字符串是否为数字,isCreatable最新,isNumber过时方法 |
isDigits | 判断字符串中是否全为数字 |
to基本类型 | 字符串数字转为基本类型,字符串转换失败,返回默认值 |
max | 获取最大值 |
min | 获取最小值 |
toScaledBigDecimal | 截取小数位数 |
3.API的使用
compare 比较两个数的大小,参数1比参数2大,返回1,否则返回-1
System.out.println(NumberUtils.compare(1, 2)); // -1
createInteger 通过字符串创建Integer
System.out.println(NumberUtils.createInteger("123")); //123
createLong 通过字符串创建Long
System.out.println(NumberUtils.createLong("123")); //123
createFloat 通过字符串创建Float
System.out.println(NumberUtils.createFloat("123")); //123.0
createDouble 通过字符串创建Double
System.out.println(NumberUtils.createDouble("123")); //123.0
createNumber 通过字符串创建Number
System.out.println(NumberUtils.createNumber("123")); //123
createBigInteger 通过字符串创建BigInteger
System.out.println(NumberUtils.createBigInteger("123")); //123
createBigDecimal 通过字符串创建BigDecimal类型,支持long、int、float、double、number等数值
BigDecimal bigDecimal = NumberUtils.createBigDecimal("3.14");
System.out.println(bigDecimal); // 3.14
isCreatable 检查字符串是否为数字,isCreatable最新,isNumber过时方法
System.out.println(NumberUtils.isCreatable("3.4")); // true
System.out.println(NumberUtils.isNumber("123")); // true
isDigits 判断字符串中是否全为数字
System.out.println(NumberUtils.isDigits("0000000000.596")); // false
System.out.println(NumberUtils.isDigits("0000000000596")); // true
to基本类型 字符串数字转为基本类型,字符串转换失败,返回默认值
System.out.println(NumberUtils.toInt(null, 0)); // 0
System.out.println(NumberUtils.toLong(null, 0)); // 0
System.out.println(NumberUtils.toByte(null, (byte) 0)); // 0
System.out.println(NumberUtils.toFloat(null, 0)); // 0.0
System.out.println(NumberUtils.toDouble("", 0d)); // 0.0
System.out.println(NumberUtils.toShort(null, (short) 0)); // 0
max 获取最大值
System.out.println(NumberUtils.max(new int[]{3, 5, 6})); // 6
System.out.println(NumberUtils.max(3, 1, 7)); // 7
min 获取最小值
System.out.println(NumberUtils.min(new int[]{3, 5, 6})); // 3
System.out.println(NumberUtils.min(3, 1, 7)); // 1
toScaledBigDecimal 截取小数位数
支持 BigDecimal, Float, Double, String 类型的截取, 第二个参数是设置精度(scale).
默认使用的是 NumberUtils.toScaledBigDecimal(value, INTEGER_TWO, RoundingMode.HALF_EVEN) , 即小数点后两位, 使用 HALF_EVEN(银行家舍入法: 向“最接近的”数字舍入, 如果与两个相邻数字的距离相等, 则向相邻的偶数舍入) 进行舍入.