最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java你不了解的大數(shù)型BigInteger與BigDecimal類

 更新時間:2022年05月13日 14:15:52   作者:星辰與晨曦  
這篇文章主要介紹了Java 處理超大數(shù)類型之BigInteger與BigDecimal案例詳解,本篇文章通過簡要的案例,講解了該項技術的了解與使用,以下就是詳細內容,需要的朋友可以參考下

BigInteger類

在Java當中,是有許多數(shù)字要進行處理的類,比如Integer類,但是Integer類它也是有上限的。它的最大值就是到2^31-1.

如果我們此時想要表示更大的數(shù),那就用Integer是無法表示的了,所在在Java當中提供了BigInteger類。

BigInteger類支持的數(shù)字可以說是無限大的,且支持任意精度的整數(shù),也就是說他可以準確的表示任意數(shù)值而不會產(chǎn)生丟失的。

在這里也強調一下,因為傳入的數(shù)型是字符型,所以在做運算的時候,不能使用 + - * /

對應的就是使用它們的方法:

add(),subtract(),multiply(),divide()

還有一些常用方法:

equals方法。進行比較

代碼演示一下:

import java.math.BigInteger;
public class Demo01 {
    public static void main(String[] args) {
        BigInteger bigInteger1 = new BigInteger("2222222222222222222222222222222");
        BigInteger bigInteger2 = new BigInteger("1111111111111111111111111111111");
        System.out.println("bigInteger1大數(shù)為:" + bigInteger1);
        System.out.println("bigInteger2大數(shù)為:" + bigInteger2);
        System.out.println("兩個大數(shù)相加:" + bigInteger1.add(bigInteger2));//加
        System.out.println("兩個大數(shù)相減:" + bigInteger1.subtract(bigInteger2));//減
        System.out.println("兩個大數(shù)相乘:" + bigInteger1.multiply(bigInteger2));//乘
        System.out.println("兩個大數(shù)相除:" + bigInteger1.divide(bigInteger2));//除
        System.out.println("兩個大數(shù)相比:" + bigInteger1.equals(bigInteger2));//equals進行比較
    }
}

在做除法的時候,如果有小數(shù)位,是這接截取掉小數(shù)位。

當然這方面不僅僅有有整型的,也有浮點型。

BigDecimal類

當然浮點型的精度也是可以盡可能大的。

import java.math.BigDecimal;
public class Demo02 {
    public static void main(String[] args) {
        BigDecimal bigDecimal1 = new BigDecimal("12232423432432.53241234324");
        BigDecimal bigDecimal2 = new BigDecimal("2.0");
        System.out.println("bigDecimal1值: " + bigDecimal1);
        System.out.println("bigDecimal2值: " + bigDecimal2);
        System.out.println("加:" + bigDecimal1.add(bigDecimal2));
        System.out.println("減:" + bigDecimal1.subtract(bigDecimal2));
        System.out.println("乘:" + bigDecimal1.multiply(bigDecimal2));
        System.out.println("除:" + bigDecimal1.divide(bigDecimal2));
    }
}

在BigDecimal的方法里面,也更好的解決java語言里面的精度問題(比如出現(xiàn)0.1x3 == 0.3的結果為false的問題)

BigDecimal類當中除法除不盡問題

但是在使用BigDecimal的時候也有一個點需要注意一下(當遇到不能除凈的話,它會選擇報錯的。)

所以在做除法的時候,直接給它做一個截取位數(shù)就好。

先來看一個方法:

public BigDecimal divide(BigDecimal divisor, int scale, int roundingMode)

divisor - 除數(shù)。

scale - 小數(shù)點后保留幾位

roundingMode - 選擇舍入模式

所以我們就可以將它寫成這樣:

舍入模式選擇:

模式意思
ROUND_CEILING向正無窮取數(shù)
ROUND_DOWN向0取數(shù)
ROUND_FLOOR向負無窮取數(shù)
ROUND_HALF_DOWN四舍五入遇到 .5向下取數(shù)
ROUND_HALF_UP四舍五入遇到 .5向上取數(shù)
ROUND_HALF_EVEN四舍五入遇到5看前面的數(shù),大于5向上,小于5向下,等于5再向前看。

到此這篇關于Java你不了解的大數(shù)型BigInteger與BigDecimal類的文章就介紹到這了,更多相關Java BigInteger類內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • Springboot錯誤處理機制實現(xiàn)原理解析

    Springboot錯誤處理機制實現(xiàn)原理解析

    這篇文章主要介紹了springboot錯誤處理機制實現(xiàn)原理解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-04-04
  • Java調用SSE流式接口并流式返回給前端實現(xiàn)打字輸出效果

    Java調用SSE流式接口并流式返回給前端實現(xiàn)打字輸出效果

    在Web開發(fā)中,有時我們需要將文件以流的形式返回給前端,下面這篇文章主要給大家介紹了關于Java調用SSE流式接口并流式返回給前端實現(xiàn)打字輸出效果的相關資料,需要的朋友可以參考下
    2024-08-08
  • 如何加密配置文件里的敏感數(shù)據(jù)

    如何加密配置文件里的敏感數(shù)據(jù)

    這篇文章主要介紹了加密配置文件里的敏感數(shù)據(jù)的實現(xiàn)方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-06-06
  • Java判斷字符串是否是有效的括號(實例詳解)

    Java判斷字符串是否是有效的括號(實例詳解)

    給定一個只包括 '(',')','{','}','[',']' 的字符串 s ,判斷字符串是否有效,有效字符串需要滿足:左括號必須用相同類型的右括號閉合,這篇文章主要介紹了Java判斷字符串是否是有效的括號,需要的朋友可以參考下
    2023-10-10
  • 詳解Java無需解壓直接讀取Zip文件和文件內容

    詳解Java無需解壓直接讀取Zip文件和文件內容

    本篇文章主要介紹了詳解Java無需解壓直接讀取Zip文件和文件內容,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-10-10
  • Java Web編程之Servlet技術詳解

    Java Web編程之Servlet技術詳解

    這篇文章主要為大家詳細介紹了Java Web編程之Servlet技術,Servlet就是一種實現(xiàn)了Servlet接口的類,它由Web容器(Tomcat/Jetty等)負責調用并創(chuàng)建,用于接收和響應用戶請求,感興趣的小伙伴們可以參考一下
    2016-05-05
  • spring快速入門實例教程

    spring快速入門實例教程

    這篇文章主要介紹了spring快速入門實例,主要分析了spring的基本配置與控制反轉,對于spring的學習具有一定的參考借鑒價值,需要的朋友可以參考下
    2014-12-12
  • Java多線程異步調用性能調優(yōu)方法詳解

    Java多線程異步調用性能調優(yōu)方法詳解

    這篇文章主要為大家詳細介紹了Java多線程異步調用性能調優(yōu),文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-03-03
  • 基于Java實現(xiàn)XML文件的解析與更新

    基于Java實現(xiàn)XML文件的解析與更新

    配置文件可以有很多種格式,包括?INI、JSON、YAML?和?XML。每一種編程語言解析這些格式的方式都不同。本文將通過Java語言實現(xiàn)XML文件的解析與更新,需要的可以參考一下
    2022-03-03
  • 史上最全的java隨機數(shù)生成算法分享

    史上最全的java隨機數(shù)生成算法分享

    這篇文章主要介紹了史上最全的java隨機數(shù)生成算法,我分享一個最全的隨機數(shù)的生成算法,最代碼的找回密碼的隨機數(shù)就是用的這個方法
    2014-01-01

最新評論

景宁| 普陀区| 余干县| 云南省| 达日县| 双城市| 昌乐县| 嵊州市| 婺源县| 峨眉山市| 五指山市| 天门市| 睢宁县| 元朗区| 楚雄市| 肥城市| 阿拉善盟| 鸡泽县| 昆明市| 长乐市| 天峨县| 长岭县| 曲麻莱县| 固原市| 汤原县| 五大连池市| 蓬安县| 金塔县| 汾阳市| 夏津县| 河间市| 台南县| 西乌珠穆沁旗| 武乡县| 安阳市| 德江县| 广南县| 永安市| 苏尼特右旗| 垫江县| 阿拉善盟|