Android 金钱计算BigDecimal 的使用
发布日期:2021-06-30 08:02:09
浏览次数:3
分类:技术文章
本文共 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 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
能坚持,总会有不一样的收获!
[***.219.124.196]2024年04月12日 00时23分53秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
JS中document对象和window对象有什么区别
2019-04-30
【python练习题】遍历1
2019-04-30
【matlab】显示图片且下方显示文字
2019-04-30
关于greater<int>以及类模板的一些理解
2019-04-30
对于时间复杂度的通俗理解
2019-04-30
如何输入多组数据并输出每组数据的和?
2019-04-30
基于CentOS 7的Linux常用命令行命令
2019-04-30
行阶梯型矩阵
2019-04-30
信号量机制
2019-04-30
临界资源与临界区
2019-04-30
matlab中uint8,double,im2double和im2uint8的区别
2019-04-30
数字图像处理总复习
2019-04-30
图像去噪(包含修正的阿尔法均值滤波及通用滤波方法代码)
2019-04-30
SVM进行人脸检测
2019-04-30
C++学习笔记
2019-04-30
图像处理学习笔记
2019-04-30
Machine Learning Onramp on MATLAB 学习笔记
2019-04-30
Machine Learning with MATLAB 1.1 to 2.2
2019-04-30
Learning DSP with MATLAB
2019-04-30
用MATLAB实现m序列的生成(MATLAB 2021a适用)
2019-04-30