BigDecima
BigDecima的作用
- 用于小数的精确计算
- 用来表示很大的小数
创建对象
创建对象时要注意以下细节
BigDecimal的使用和BigInteger类似,唯一要注意的点是:在使用除法时,如果除不尽就要设置精确到几位,否则报错
使用除法时的几种模式:
UP:远离零方向舍入的舍入模式
DOWN:向零方向舍入的舍入模式CEILING:向正无限大方向舍入的舍入模式
FLOOR:向负无限大方向舍入的舍入模式
总结:
示例代码:
注意:BigDecima的长度并不是无限的,它最大不能超过int最值的长度
import java.math.BigDecimal;
import java.math.RoundingMode;
public class BigDecimalDemo {
public static void main(String[] args) {
//通过传递字符串表示小数来创建对象
BigDecimal bd3=new BigDecimal("0.01");
BigDecimal bd4=new BigDecimal("0.09");
BigDecimal bd5=bd3.add(bd4);
//BigDecimal bd6=new BigDecimal(0.01);
//通过静态方法来获取对象
BigDecimal bd7=BigDecimal.valueOf(10.0);
System.out.println(bd3);
System.out.println(bd4);
System.out.println(bd5);
//System.out.println(bd6);
System.out.println(bd7);
BigDecimal bd8=new BigDecimal("10.0");
BigDecimal bd9=new BigDecimal("3.0");
BigDecimal bd10=bd8.divide(bd9,2, RoundingMode.HALF_UP);//四舍五入
System.out.println(bd10);
}
}
正则表达式
正则表达式可以校验字符串是否满足一定的规则并用来校验数据格式的合法性。
简单来说:正则表达式就是各种各样的规则
示例代码:
public class RegexDemo {
public static void main(String[] args) {
//手机号码
String regex1="1[3-9]\\d{9}";
System.out.println("19146744312".matches(regex1));
//座机号码
String regex2="0\\d{2,3}-?[1-9]\\d{4,9}";//?:出现1或0次
System.out.println("020-2324242".matches(regex2));
//邮箱
String regex3="\\w+@[\\w&&[^_]]{2,6}(\\.[a-zA-Z]{2,3}){1,2}";
//\\w:任意数字字母加下划线
System.out.println("2517073584@qq.com".matches(regex3));
//身份证
String regex4="[1-9]\\d{16}(\\d|X|x)";
System.out.println("43112620031124010x".matches(regex4));
//忽略大小写的书写方式:(?i)abc
String regex5="(?i)abc";
System.out.println("abc".matches(regex5));
}
}