Android 金钱计算BigDecimal 的使用
生活随笔
收集整理的這篇文章主要介紹了
Android 金钱计算BigDecimal 的使用
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
今天做了一個購物車的功能 ,設計到了錢的計算,使用到了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,等之類的分數,計初多少顆星星問題。
總結
以上是生活随笔為你收集整理的Android 金钱计算BigDecimal 的使用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 帝豪多少钱啊?
- 下一篇: Tablayout 修改默认选项页,或者