Android 金钱计算BigDecimal 的使用
发布日期:2021-06-30 08:02:09
浏览次数:2
分类:技术文章
本文共 1426 字,大约阅读时间需要 4 分钟。
今天做了一个购物车的功能 ,设计到了钱的计算,使用到了BigDecimal 晚上回来总结下
这个BigDecimal 计算钱呢很好用
其主要有
1 add 加法
2 subtract 减法
3 multiply 乘法
4 divide 除法
一般我们的价格都是getText 获取的,这里定义2个String 代表 获取的价格
1 加法计算
BigDecimal num = new BigDecimal("1.01"); BigDecimal num1 =new BigDecimal("2.02"); System.out.print(num.add(num1));
2 减法计算
BigDecimal num = new BigDecimal("1.01"); BigDecimal num1 =new BigDecimal("2.02"); System.out.print(num1.subtract(num));
3 乘法计算
BigDecimal num = new BigDecimal("1.01"); BigDecimal num1 =new BigDecimal("2.02"); System.out.print(num1.multiply(num));
4 除法计算
BigDecimal num = new BigDecimal("1.01"); BigDecimal num1 =new BigDecimal("2.02"); System.out.print(num1.divide(num));
当然也可以混合在一起使用
保留 小数点后面几位数可以使用setScale 方法
如下 这个是保留2位
BigDecimal num = new BigDecimal("1.01"); BigDecimal num1 =new BigDecimal("2.02"); BigDecimal total = num.multiply(num1).setScale(2,RoundingMode.HALF_UP) ; System.out.print(total);
注意注意注意
声明的时候不要 直接指定float 类型的
如下
BigDecimal num = new BigDecimal(1.01);BigDecimal num1 =new BigDecimal(2.02);
这样的精度就会丢失了
如果想修改类型看下代码四舍五入保留一位小数点 在转为float类型
BigDecimal bar = new BigDecimal(item.getScore()); BigDecimal num = new BigDecimal(2); float ratingBar = bar.divide(num).setScale(1,RoundingMode.HALF_UP).floatValue(); Log.e("---------ratingbar", String.valueOf(ratingBar));
完美解决后台返回 8.9,等之类的分数,计初多少颗星星问题。
转载地址:https://huxiaomu.blog.csdn.net/article/details/100026102 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
很好
[***.229.124.182]2024年04月13日 05时02分31秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
UVA-11401 Triangle Counting(数学优化)
2019-04-30
Codeforces Round #369 (Div. 2)
2019-04-30
UVA 11426 GCD - Extreme (II)(欧拉函数)
2019-04-30
HDU-2838 Cow Sorting(树状数组)
2019-04-30
POJ-2299 Ultra-QuickSort(树状数组)(离散化)
2019-04-30
基于SSM的兼职论坛系统的设计与实现
2019-04-30
基于java的图书管理系统的设计与实现
2019-04-30
基于java的SSM框架理财管理系统的设计与实现
2019-04-30
基于java的ssm框架就业信息管理系统的设计
2019-04-30
基于java的ssm框架的旅游网站设计与实现
2019-04-30
基于java的SSM框架的流浪猫救助网站的设计与实现
2019-04-30
基于java的SSM框架的教务关系系统的设计与实现
2019-04-30
别再问我什么是A/B测试了!
2019-04-30
如何用同期群分析模型提升留存?(Tableau实战)
2019-04-30
爱了,吹爆这个高颜值的流程图工具!
2019-04-30
一个数据项目
2019-04-30
基于JAVA_JSP电子书下载系统
2019-04-30
基于java出租车计价器设计与实现
2019-04-30
基于java的B2C的网上拍卖系统
2019-04-30