BigDecimal类提供了四种构造方法进行对象的初始化。
分别可以传入:int、double、long、string。
特别注意:即使表面上看起来一样的值,不同类型传入的最终值是不一样,比如doule类型的数据小数位会变得很长
BigDecimal类对象可以与int、double、long、string进行互转。
//创建BigDecimal类对象
BigDecimal intBD = new BigDecimal(123);
BigDecimal douBD = new BigDecimal(123.123);
BigDecimal strBD = new BigDecimal("123");
BigDecimal sdrBD = new BigDecimal("123.123");
BigDecimal类提供了数学世界中的四类基本运算方法。
//创建两个运算值
BigDecimal noOne = new BigDecimal(123);
BigDecimal noTwo = new BigDecimal(123);
//加法
BigDecimal addAs = noOne.add(noTwo);
//减法
BigDecimal subAs = noOne.subtract(noTwo);
//乘法
BigDecimal mulAs = noOne.multiply(noTwo);
//除法
//需要注意除法被除数不能为0哦
BigDecimal divAs = noOne.divide(noTwo);
//另一种写法(直接新建构造类)
BigDecimal othAs = noOne.add(new BigDecimal(123));
BigDecimal类除法可以提供精度控制能力,具有三个入参分别是:被除数、小数位数、尾数取值模式。
//除法实例,保留三位小数,四舍五入模式
BigDecimal divAs = noOne.divide(noTwo,3,BigDecimal.ROUND_HALF_UP);
//BigDecimal.ROUND_DOWN 删除多余位数
//BigDecimal.ROUND_UP 删除多余位数,最后一位进一位
//BigDecimal.ROUND_HALF_UP 四舍五入
//BigDecimal.ROUND_HALF_DOWN 五舍六入
BigDecimal类独立提供了对数据进行精度控制的方法。
//对已有数据进行精度控制,逡巡上方的几类模式,保留三位四舍五入
noTwo = noTwo.setScale(3,BigDecimal.ROUND_HALF_UP);
//此处与上方相同支持多种形式
//建立货币格式化引用
NumberFormat currency = NumberFormat.getCurrencyInstance();
//建立百分比格式化用
NumberFormat percent = NumberFormat.getPercentInstance();
//百分比小数点最多3位
percent.setMaximumFractionDigits(3);
//对数据进行货币格式化
currency.format(mulAs);
//对数据进行百分比格式化
percent.format(divAs);
BigDecimal类的大小比较,返回一个int结果,有三个结果 1表示大于,0表示等于,-1表示小于。
int cpAs = noOne.compareTo(noTwo);
//BigDecimal类还提供了一些用于比较的常量,比如BigDecimal.ZERO
//与零进行比较
int cpAs = noOne.compareTo(BigDecimal.ZERO);
实际上没什么需要小结的,常用实例已在上方列举出来了!
当前还没有观点发布,欢迎您留下足迹!
Spring就像一个大家族,里面包含了很多衍生产品,其中最为出名的就是SpringMVC和SpringBoot,那么这三者之间是什么关系呢?SpringMVC和SpringBoot又专门用来做什么呢?
在JAVA的WEB工程中我们可以将JSP页面文件放在WEB-INFO中限制用户进行URL直接访问,但静态资源如js、css文件却是需要被外部直接访问的,直接对外暴露又不太安全,可以通过自定义过滤器处理
SpringMVC框架是围绕DispatcherServlet(前端控制器)展开的,本文描述SpringMVC的优点、各个核心类(角色)作用,并说明用户请求数据到最终视图返回完整的数据传输过程
SpringBoot 的 MyBatis 默认采用 hikari 连接池,druid (德鲁伊) 连接池由阿里开源,它不仅仅是一个连接池,更是代理、过滤器、解析器、插件、监控、优化等实用功能组件库,更在阿里生产环境得到验证,所以 Lets Do It
Struts2框架以WebWork优秀的设计思想为核心,吸收了 Struts框架的部分优点,提供了一个更加整洁的MVC设计模式实现的Web应用程序框架,本文主要是与Spring整合关键配置和实例
scope属性主要用于控制依赖范围,主要分为编译、打包、运行、测试、依赖传递等各个常见,scope不同于optional提供了更多可选择的配置参数用于应对不同的依赖场景。