国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Java BigDecimal、Integer、Long、Double類型數(shù)值累加求和

這篇具有很好參考價(jià)值的文章主要介紹了Java BigDecimal、Integer、Long、Double類型數(shù)值累加求和。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

1 BigDecimal類型數(shù)值累加求和

1.1 for循環(huán)實(shí)現(xiàn)

List<BigDecimal> list=new ArrayList<>();
BigDecimal sum=new BigDecimal(0);
for(BigDecimal decimal:list){
    sum=sum.add(decimal);
}

1.2 stream().reduce()實(shí)現(xiàn)

List<BigDecimal> list=new ArrayList<>();
BigDecimal sum=list.stream().reduce(0,BigDecimal::add);

2 Integer類型數(shù)值累加求和

2.1 for循環(huán)實(shí)現(xiàn)

List<Integer> list=new ArrayList<>();
Integer sum=0;
for(Integer i:list){
    sum+=i;
}

2.2 stream().reduce()實(shí)現(xiàn)

List<Integer> list=new ArrayList<>();
//lambda表達(dá)式實(shí)現(xiàn)
Integer sum = list.stream().reduce(0, (current, number) -> current + number);
//方法引用實(shí)現(xiàn)
Integer sum2 = list.stream().reduce(0, Integer::sum); 

2.3 Collectors.summingInt()實(shí)現(xiàn)

List<Integer> list=new ArrayList<>();
long sum = list.stream().collect(Collectors.summingInt(x -> x));

2.4 Collectors.summarizingInt()實(shí)現(xiàn)

        List<Integer> list = new ArrayList<>();
        IntSummaryStatistics summaryStatistics = list.stream().collect(Collectors.summarizingInt(x -> x));
        long sum = summaryStatistics.getSum(); 

3 Long類型數(shù)值累加求和

3.1 for循環(huán)實(shí)現(xiàn)

List<Long> list=new ArrayList<>();
Long sum=0L;
for(Long i:list){
    sum+=i;
}

3.2 stream().reduce()實(shí)現(xiàn)

List<Long> list=new ArrayList<>();
//lambda表達(dá)式實(shí)現(xiàn)
Long sum = list.stream().reduce(0L, (current, number) -> current + number);
//方法引用實(shí)現(xiàn)
Long sum2 = list.stream().reduce(0L, Long::sum); 

3.3 Collectors.summingLong()實(shí)現(xiàn)

List<Long> list=new ArrayList<>();
long sum = list.stream().collect(Collectors.summingLong(x -> x));

3.4 Collectors.summarizingInt()實(shí)現(xiàn)

        List<Long> list = new ArrayList<>();
        LongSummaryStatistics summaryStatistics = list.stream().collect(Collectors.summarizingLong(x -> x));
        long sum = summaryStatistics.getSum();

4 Double類型數(shù)值累加求和

4.1 for循環(huán)實(shí)現(xiàn)

List<Double> list = new ArrayList<>();
Double sum = 0d;
for (Double i : list) {
    sum += i;
}

注意 Double小數(shù)點(diǎn)失真問(wèn)題解決 : 先把Double轉(zhuǎn)為BigDecimal,再求和。代碼如下 :

		List<Double> list = new ArrayList<>();
        list.add(1.24224D);
        list.add(1.24224D);
        list.add(1.32224D);
        BigDecimal bSum = new BigDecimal(0);
        for (Double i : list) {
            bSum = bSum.add(BigDecimal.valueOf(i));
        }
        System.out.println(bSum.doubleValue());

5 BigDecimal工具類

6 Object轉(zhuǎn)BigDecimal類型


總結(jié)

如果此篇文章有幫助到您, 希望打大佬們能關(guān)注、點(diǎn)贊、收藏評(píng)論支持一波,非常感謝大家!
如果有不對(duì)的地方請(qǐng)指正!!!

參考1文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-787578.html

到了這里,關(guān)于Java BigDecimal、Integer、Long、Double類型數(shù)值累加求和的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • java Long 轉(zhuǎn)Integer

    要將 Java 中的 Long 類型轉(zhuǎn)換為 Integer 類型,您可以使用 Integer 類中提供的 intValue() 方法。 例如,假設(shè)您有一個(gè) Long 類型的變量 longValue,您可以使用以下代碼將其轉(zhuǎn)換為 Integer 類型: 請(qǐng)注意,如果 Long 類型的變量 longValue 超出了 Integer 類型的范圍,即超過(guò)了 -2147483648 到 21474

    2024年02月11日
    瀏覽(14)
  • Java開(kāi)發(fā)手冊(cè)中為什么禁止使用BigDecimal的equals方法做等值比較已經(jīng)為什么禁止使用double直接構(gòu)造BigDecimal

    Java開(kāi)發(fā)手冊(cè)中為什么禁止使用BigDecimal的equals方法做等值比較已經(jīng)為什么禁止使用double直接構(gòu)造BigDecimal

    阿里Java開(kāi)發(fā)手冊(cè)嵩山版中明確指出: 1、BigDecimal的等值比較應(yīng)使用compareTo()方法,而不是equals()方法 equals()方法會(huì)比較值和精度(1.0與1.00返回結(jié)果為false),而compareTo()則會(huì)忽略精度 2、禁止使用構(gòu)造方法BigDecimal(double)的方式把double值轉(zhuǎn)換為BigDecimal對(duì)象 BigDecimal(double)存在精度損

    2024年02月07日
    瀏覽(34)
  • bigdecimal轉(zhuǎn)integer

    將 BigDecimal 轉(zhuǎn)換為 Integer,可以使用 intValue() 方法。這個(gè)方法將 BigDecimal 對(duì)象轉(zhuǎn)換為一個(gè)整數(shù)類型的值(即 int 類型),然后將其自動(dòng)裝箱為 Integer 類型。 以下是示例代碼: 輸出結(jié)果: 需要注意的是,在進(jìn)行 BigDecimal 轉(zhuǎn) Integer 的過(guò)程中,如果 BigDecimal 值的小數(shù)部分存在,則它

    2024年02月11日
    瀏覽(20)
  • Cause: java.lang.ClassCastException: java.lang.Integer cannot be cast to java.lang.Long錯(cuò)誤的詳細(xì)解決方法

    Cause: java.lang.ClassCastException: java.lang.Integer cannot be cast to java.lang.Long錯(cuò)誤的詳細(xì)解決方法

    今天寫(xiě)好 hive表導(dǎo)入的回調(diào) 的接口,如下代碼所示: 啟動(dòng) postman 訪問(wèn)該接口,確報(bào)出如下錯(cuò)誤: 即 Cause: java.lang.ClassCastException: java.lang.String cannot be cast to java.lang.Long 根據(jù) java.lang.ClassCastException 可知,這是 java 類型轉(zhuǎn)換的異常錯(cuò)誤。 其次,再將錯(cuò)誤信息 java.lang.String cannot b

    2024年02月13日
    瀏覽(24)
  • java.lang.Integer and java.lang.Long are in module java.base of loader 'bootstrap' springboot的異常信息,怎...

    這個(gè)錯(cuò)誤信息表示在Spring Boot應(yīng)用程序中,類 java.lang.Integer 和 java.lang.Long 被認(rèn)為在模塊 java.base 中加載,但實(shí)際上它們?cè)趹?yīng)用程序的類路徑中可用。 這通常是由于使用了不同版本的Java來(lái)運(yùn)行應(yīng)用程序和加載類路徑上的類。 為了解決這個(gè)問(wèn)題,可以使用以下方法之一: 確保應(yīng)

    2024年02月11日
    瀏覽(86)
  • Java中如何將String類型轉(zhuǎn)為double類型

    在Java編程中,經(jīng)常需要在不同數(shù)據(jù)類型之間進(jìn)行轉(zhuǎn)換。將String類型轉(zhuǎn)換為double類型是一種常見(jiàn)的轉(zhuǎn)換需求。Java提供了幾種方法來(lái)實(shí)現(xiàn)這種轉(zhuǎn)換,下面將介紹其中的兩種常用方法。 方法一:使用Double類的parseDouble方法 Double類是Java中用于表示雙精度浮點(diǎn)數(shù)的包裝類。它提供了一

    2024年02月05日
    瀏覽(24)
  • 日常BUG——Java使用Bigdecimal類型報(bào)錯(cuò)

    日常BUG——Java使用Bigdecimal類型報(bào)錯(cuò)

    ?? 作 ? ??????? 者 :是江迪呀 ?? 本文 : 日常BUG 、 BUG 、 問(wèn)題分析 ?? 每日?? 一言 : 存在錯(cuò)誤說(shuō)明你在進(jìn)步! 直接上代碼: 報(bào)錯(cuò)內(nèi)容: 原來(lái)JAVA中如果用 BigDecimal 做除法的時(shí)候一定要在divide方法中傳遞第二個(gè)參數(shù),定義精確到小數(shù)點(diǎn)后幾位,否則在不整除

    2024年02月13日
    瀏覽(34)
  • 【Java 排序】冒泡排序(升降序,Int類型,Double類型,多數(shù)組排序)(111)

    思路: 用二重循環(huán)實(shí)現(xiàn),外循環(huán)變量設(shè)為i,內(nèi)循環(huán)變量設(shè)為j。假如有n個(gè)數(shù)需要進(jìn)行排序,則外循環(huán)重復(fù)n-1次,內(nèi)循環(huán)依次重復(fù)n-1,n-2,…,1次。每次進(jìn)行比較的兩個(gè)元素都是與內(nèi)循環(huán)j有關(guān)的,它們可以分別用a[j]和a[j+1]標(biāo)識(shí),i的值依次為1,2,…,n-1,對(duì)于每一個(gè)i,j的值依次

    2024年02月12日
    瀏覽(29)
  • Integer、Long 等包裝類 == 值判斷、地址判斷與緩存

    先看下以下代碼和輸出 a=aa? true? b=bb? true? c=cc? false? d=dd? false? e=ee? true? f=ff? true? 那么為什么會(huì)會(huì)出現(xiàn)這樣的結(jié)果呢? 這是因?yàn)?=只有在Java基本類型(short,int,long,byte,char,float,double,boolean)中比較的是值,其他類型中比較的是內(nèi)存地址。因此,InteGer類中==比較的是

    2024年02月10日
    瀏覽(22)
  • java Long 類型如何比較

    Java 中的 Long 類型可以使用下列方法進(jìn)行比較: 使用 compareTo 方法: 使用三目運(yùn)算符: 使用 Long.valueOf 和 equals 方法: 請(qǐng)注意,如果要比較兩個(gè) Long 對(duì)象的值,則應(yīng)使用 equals 方法,而不是使用 == 運(yùn)算符。

    2024年02月16日
    瀏覽(15)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包