日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

Android 金钱计算BigDecimal 的使用

發布時間:2023/11/27 生活经验 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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 的使用的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。