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 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:Tablayout 修改默认选项页,或者跳转到指定的选项页
下一篇:android 生成随机不相同的数

发表评论

最新留言

能坚持,总会有不一样的收获!
[***.219.124.196]2024年04月12日 00时23分53秒