欧美性猛交xxxx免费看_牛牛在线视频国产免费_天堂草原电视剧在线观看免费_国产粉嫩高清在线观看_国产欧美日本亚洲精品一5区

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

BigDecimal實(shí)際開發(fā)的三坑是什么

汽車電子技術(shù) ? 來(lái)源:程序猿知秋 ? 作者:知秋 ? 2023-02-16 14:39 ? 次閱讀

坑1:初始化使用double類型數(shù)據(jù)

public class TestBigDecimal {
    public static void main(String[] args){
        BigDecimal b1=new BigDecimal(0.22);
        BigDecimal b2=new BigDecimal("0.22");
        System.out.println("b1的值:"+b1);
        System.out.println("b2的值:"+b2);
    }
}

結(jié)果

b1的值:

0.2200000000000000011102230246251565404236316680908203125

b2的值:0.22

原因:

構(gòu)造方法參數(shù)為double類型有一定的不可預(yù)知性,表面上看是0.22,實(shí)際上是0.2200000000000000011102230246251565404236316680908203125,0.22在java中無(wú)法準(zhǔn)確的表示為double

解決方案:

1.采用String 類型的構(gòu)造參數(shù)。

2.如果必須要使用double,則可使用Double.toString(double) 方法轉(zhuǎn)換成String, 再采用Bigdecimal的構(gòu)造函數(shù).

坑2:除法計(jì)算

public static void t1(){
    BigDecimal b1=new BigDecimal("10");
    BigDecimal b2=new BigDecimal("3");
    System.out.println(b1.divide(b2).setScale(2,BigDecimal.ROUND_HALF_UP));
}

結(jié)果:

Exception in thread "main" java.lang.ArithmeticException: Non-terminating decimal expansion; no exact representable decimal result

原因:

當(dāng)遇到除不盡的情況時(shí),會(huì)報(bào)以上錯(cuò)誤

解決方案:

System.out.println(b1.divide(b2,2,BigDecimal.ROUND_HALF_UP));

坑3:equals方法

public static void t2(){
    BigDecimal b1=new BigDecimal("0.0");
    BigDecimal b2=BigDecimal.ZERO;
    System.out.println(b1.equals(b2));
}

結(jié)果:

false

原因:

BigDecimal 的equals 方法不僅僅是比較值,還會(huì)比較scale的位數(shù)是否相等,而Bigdecimal.ZERO的scale是0,所以為 false

解決方案:

使用compareTo方法. System.out.println(b1.compareTo(b2)==0)

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 參數(shù)
    +關(guān)注

    關(guān)注

    11

    文章

    1860

    瀏覽量

    32449
  • Doubler
    +關(guān)注

    關(guān)注

    0

    文章

    7

    瀏覽量

    7211
  • string
    +關(guān)注

    關(guān)注

    0

    文章

    40

    瀏覽量

    4749
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    R128點(diǎn)屏踩筆記

    本文所整理的R128點(diǎn)屏踩筆記均是在參考以下應(yīng)用開發(fā)案例進(jìn)行屏幕適配時(shí)遇到的實(shí)際開發(fā)問題,涵蓋了屏幕花屏、屏幕白屏、LVGL顯示顏色錯(cuò)誤等常見問題的解決方法。
    的頭像 發(fā)表于 12-03 10:17 ?1468次閱讀
    R128點(diǎn)屏踩<b class='flag-5'>坑</b>筆記

    死創(chuàng)業(yè)者的硬件產(chǎn)品——“十大

    死創(chuàng)業(yè)者的硬件產(chǎn)品——“十大”第一:錯(cuò)把產(chǎn)品原型當(dāng)批量生產(chǎn)第二:以為可以修補(bǔ)bug;第
    發(fā)表于 11-14 15:59

    NodeMCU開發(fā)板踩經(jīng)歷分享

    寫在前面今天入手了一個(gè)NodeMCU的板子,準(zhǔn)備學(xué)習(xí)一下物聯(lián)網(wǎng)相關(guān)的知識(shí)。不過由于博主學(xué)藝不精,在第一步燒寫固件上就踩了,所以就想著把自己的踩經(jīng)歷寫出來(lái)分享給大家,希望能有一些幫助~ 材料準(zhǔn)備硬件:NodeMCU開發(fā)板*1(
    發(fā)表于 11-01 07:55

    mongoose開發(fā)中遇到的及解決方案

    1. 本文不對(duì)mongoose的功能作陳述,只記錄下自己開發(fā)中遇到的,及解決方案。嵌入了mongoose的代碼編譯通過,在調(diào)試運(yùn)行(gdb)時(shí)候,卻發(fā)生了段錯(cuò)誤(Segmentation fault),如下所示:...
    發(fā)表于 12-16 06:56

    大學(xué)時(shí)光、單片機(jī)開發(fā),嵌入式網(wǎng)站推薦

    大學(xué)時(shí)光、單片機(jī)開發(fā),嵌入式網(wǎng)站推薦
    發(fā)表于 11-20 11:51 ?8次下載
    入<b class='flag-5'>坑</b>大學(xué)時(shí)光、單片機(jī)<b class='flag-5'>開發(fā)</b>,嵌入式網(wǎng)站推薦

    關(guān)于藍(lán)橋杯單片機(jī)開發(fā)板矩陣鍵盤的一些

    關(guān)于藍(lán)橋杯單片機(jī)開發(fā)板矩陣鍵盤的一些
    發(fā)表于 11-23 17:36 ?2次下載
    關(guān)于藍(lán)橋杯單片機(jī)<b class='flag-5'>開發(fā)</b>板矩陣鍵盤的一些<b class='flag-5'>坑</b>

    ESP-32開發(fā)歷程()ESP-IDF 定時(shí)器使用

    ESP-32開發(fā)歷程()ESP-IDF 定時(shí)器使用前言一、開發(fā)基礎(chǔ)二、定時(shí)器使用1.官方描述2.讀入數(shù)據(jù)總結(jié)ESP-32開發(fā)
    發(fā)表于 12-08 12:06 ?13次下載
    ESP-32<b class='flag-5'>開發(fā)</b>踩<b class='flag-5'>坑</b>歷程(<b class='flag-5'>三</b>)ESP-IDF 定時(shí)器使用

    BigDecimal使用失誤的原因分析

    BigDecimal 自身也提供了很多構(gòu)造器方法,這些構(gòu)造器方法使用不當(dāng)可能會(huì)造成不必要的麻煩甚至是金額損失,從而引起事故資損。
    的頭像 發(fā)表于 07-10 14:35 ?1017次閱讀

    軟件開發(fā)外包有哪些要注意?

    提起軟件開發(fā)外包,大家并不陌生,因?yàn)楹芏嗥髽I(yè)已經(jīng)選擇了軟件外包,但是有人會(huì)說(shuō)軟件開發(fā)外包就是個(gè),千萬(wàn)別選擇軟件外包。 ? 其實(shí)軟件外包是沒有問題的,問題出在選擇的軟件開發(fā)外包公司上面
    的頭像 發(fā)表于 10-11 18:36 ?1494次閱讀

    bigdecimal轉(zhuǎn)string類型

    BigDecimal轉(zhuǎn)換為String類型是在Java編程中常常遇到的一個(gè)問題。BigDecimal是Java中用于表示高精度十進(jìn)制數(shù)的類,而String則是用于表示文本字符串的數(shù)據(jù)類型。在某些
    的頭像 發(fā)表于 11-30 11:09 ?6512次閱讀

    怎么把bigdecimal轉(zhuǎn)成string

    BigDecimal轉(zhuǎn)換為String是一項(xiàng)常見的任務(wù),在Java的開發(fā)中經(jīng)常會(huì)涉及到將數(shù)值進(jìn)行格式化,并在不同的環(huán)境中傳遞。本文將詳解以下幾個(gè)方面的內(nèi)容: 什么是BigDecimal
    的頭像 發(fā)表于 11-30 11:11 ?1476次閱讀

    bigdecimal轉(zhuǎn)string類型避免空指針

    在Java中,BigDecimal是用于處理高精度數(shù)字計(jì)算的類。它提供了一種有效的方法來(lái)避免使用浮點(diǎn)數(shù)的精確度損失問題。然而,在將BigDecimal對(duì)象轉(zhuǎn)換為String類型時(shí),需要特別小心以避
    的頭像 發(fā)表于 11-30 11:12 ?2817次閱讀

    bigdecimal轉(zhuǎn)字符串保留兩位小數(shù)

    BigDecimals是Java中用于表示任意精度的十進(jìn)制數(shù)的類。在許多應(yīng)用程序中,可能需要將一個(gè)BigDecimal轉(zhuǎn)換為字符串并保留兩位小數(shù)。在本文中,我們將探討如何使用BigDecimal
    的頭像 發(fā)表于 11-30 11:18 ?4594次閱讀

    bigdecimal的加減乘除java

    BigDecimal是Java中提供的一個(gè)用于精確計(jì)算的類,它可以實(shí)現(xiàn)浮點(diǎn)數(shù)的精確加減乘除運(yùn)算,避免了在使用浮點(diǎn)數(shù)進(jìn)行計(jì)算時(shí)可能出現(xiàn)的舍入誤差。 首先,我們需要明確一點(diǎn),浮點(diǎn)數(shù)在計(jì)算機(jī)中是以二進(jìn)制
    的頭像 發(fā)表于 11-30 11:19 ?1557次閱讀

    bigdecimal是什么數(shù)據(jù)類型

    BigDecimal是Java編程語(yǔ)言中的一個(gè)類,用于表示任意精度的十進(jìn)制數(shù)。它是在數(shù)值計(jì)算方面提供更高精度和更多功能的一個(gè)解決方案。常規(guī)的浮點(diǎn)數(shù)類型(如float和double)有精度限制,可能會(huì)
    的頭像 發(fā)表于 11-30 11:21 ?3195次閱讀