欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java Big Number操作BigInteger及BigDecimal類詳解

 更新時(shí)間:2022年07月23日 15:55:01   作者:SuperHeroes  
這篇文章主要為大家介紹了Java Big Number操作BigInteger及BigDecimal類詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪

BigInteger類

java.math.BigInteger 類的使用場(chǎng)景是大整數(shù)操作。它提供類似所有Java的基本整數(shù)運(yùn)算符和java.lang.Math中的所有相關(guān)的方法的操作,如+、-、*、/、%、&、|、mod、>>、<<,以及min()、max()等等。

只不過(guò)它操作的整數(shù)都是極其大的,為科學(xué)計(jì)算提供了很大的便利。比如下面的代碼就是計(jì)算20000000000000000000 * 30000000000000000000,利用BigInteger可以很容易的計(jì)算出來(lái)結(jié)果。

import java.math.BigInteger;
import java.util.Scanner;
public class Main {
    public static void main(String[] args) {
        Scanner in=new Scanner(System.in);
        String a = in.nextLine();
        String b = in.nextLine();
        BigInteger biga = new BigInteger(a);
        BigInteger bigb = new BigInteger(b);
        BigInteger result = biga.multiply(bigb);
        System.out.println(result);
    }
}

//輸入
30000000000000000000
20000000000000000000
//輸出
600000000000000000000000000000000000000

構(gòu)造函數(shù)

BigInteger提供了6個(gè)構(gòu)造函數(shù),方便取到一個(gè)大數(shù)。上方的代碼就是利用形參是String的構(gòu)造函數(shù)來(lái)將傳入的字符串轉(zhuǎn)換為BigInteger類型。常用的構(gòu)造方法如下:

  • BigInteger(String val):將10進(jìn)制字符串轉(zhuǎn)換為BigInteger
  • BigInteger(byte[] val):將只含有0和1的bite[]數(shù)組轉(zhuǎn)換為2進(jìn)制表示的BigInteger值
  • BigInteger(int numBits, Random rnd):構(gòu)造一個(gè)隨機(jī)生成的BigInteger,均勻分布在范圍0到 (2^numBits - 1)
  • BigInteger(String val, int radix):將字符串轉(zhuǎn)換為指定進(jìn)制的BigInteger

類方法

BigInteger的類方法有40多個(gè),覆蓋了簡(jiǎn)單四則運(yùn)算、位運(yùn)算、科學(xué)計(jì)算、哈希運(yùn)算、類型轉(zhuǎn)換等。下面是最最常用的方法:

  • BigInteger abs() :求絕對(duì)值
  • BigInteger add(BigInteger val):計(jì)算和
  • BigInteger subtract(BigInteger val):計(jì)算差
  • BigInteger multiply(BigInteger val):計(jì)算積
  • BigInteger divide(BigInteger val):計(jì)算商
  • BigInteger pow(int exponent) :計(jì)算冪
  • BigInteger remainder(BigInteger val):計(jì)算余數(shù)
  • BigInteger max(BigInteger val):返回較大值
  • BigInteger min(BigInteger val):返回較小值

BigDecimal類

java.math.BigDecimal 類提供用于算術(shù),刻度操作,舍入,比較,哈希算法和格式轉(zhuǎn)換操作。該類的使用范圍是小數(shù)運(yùn)算。我們都知道Java的float和double是浮點(diǎn)數(shù),直接進(jìn)行比較操作、運(yùn)算操作都會(huì)有誤差,BigDecimal就不會(huì)出現(xiàn)這種情況。

toString()方法提供BigDecimal的規(guī)范表示。它使用戶可以完全控制舍入行為。提供用于操作BigDecimal規(guī)模兩種類型的操作:

  • 縮放/舍入操作
  • 小數(shù)點(diǎn)移動(dòng)操作。

日常Coding中我還沒(méi)用到過(guò)這個(gè)類,需要使用的時(shí)候再查看文檔吧。不過(guò)這個(gè)類的使用方法應(yīng)該和BigInteger類類似,只不過(guò)支持小數(shù)操作,在方法頭中會(huì)多一些形參來(lái)控制精度或其他控制。

以上就是Java Big Number操作BigInteger及BigDecimal類詳解的詳細(xì)內(nèi)容,更多關(guān)于Java Big Number操作的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • SpringBoot整合RabbitMQ實(shí)現(xiàn)延遲隊(duì)列的示例詳解

    SpringBoot整合RabbitMQ實(shí)現(xiàn)延遲隊(duì)列的示例詳解

    這篇文章主要為大家詳細(xì)介紹了SpringBoot如何整合RabbitMQ實(shí)現(xiàn)延遲隊(duì)列,文中的示例代碼講解詳細(xì),具有一定的學(xué)習(xí)價(jià)值,感興趣的可以了解一下
    2023-04-04
  • 利用Java獲取文件名、類名、方法名和行號(hào)的方法小結(jié)

    利用Java獲取文件名、類名、方法名和行號(hào)的方法小結(jié)

    這篇文章運(yùn)用實(shí)例代碼給大家介紹了利用Java怎樣獲取文件名、類名、方法名和行號(hào),有需要的可以參考借鑒,下面一起來(lái)看看吧。
    2016-08-08
  • Vue實(shí)現(xiàn)驗(yàn)證碼登錄的超詳細(xì)步驟

    Vue實(shí)現(xiàn)驗(yàn)證碼登錄的超詳細(xì)步驟

    這篇文章主要給大家介紹了關(guān)于Vue實(shí)現(xiàn)驗(yàn)證碼登錄的超詳細(xì)步驟,我們?cè)谑褂胿ue進(jìn)行前端開(kāi)發(fā)時(shí)都需要登錄驗(yàn)證,文中通過(guò)代碼示例介紹的非常詳細(xì),需要的朋友可以參考下
    2023-09-09
  • 一文搞懂Java創(chuàng)建線程的五種方法

    一文搞懂Java創(chuàng)建線程的五種方法

    本文主要為大家詳細(xì)介紹一下Java實(shí)現(xiàn)線程創(chuàng)建的五種常見(jiàn)方式,文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)有一定的幫助,感興趣的可以跟隨小編學(xué)習(xí)一下
    2022-06-06
  • Jackson序列化和反序列化忽略字段操作

    Jackson序列化和反序列化忽略字段操作

    這篇文章主要介紹了Jackson序列化和反序列化忽略字段操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-09-09
  • SpringBoot-JWT生成Token和攔截器的使用(訪問(wèn)受限資源)

    SpringBoot-JWT生成Token和攔截器的使用(訪問(wèn)受限資源)

    本文主要介紹了SpringBoot-JWT生成Token和攔截器的使用(訪問(wèn)受限資源),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2022-05-05
  • 淺談Java常見(jiàn)的排序算法

    淺談Java常見(jiàn)的排序算法

    今天給大家?guī)?lái)的是關(guān)于Java的相關(guān)知識(shí),文章圍繞著Java常見(jiàn)的排序算法展開(kāi),文中有非常詳細(xì)的介紹及代碼示例,需要的朋友可以參考下
    2021-06-06
  • Java?實(shí)戰(zhàn)項(xiàng)目之家政服務(wù)平臺(tái)系統(tǒng)的實(shí)現(xiàn)流程

    Java?實(shí)戰(zhàn)項(xiàng)目之家政服務(wù)平臺(tái)系統(tǒng)的實(shí)現(xiàn)流程

    讀萬(wàn)卷書(shū)不如行萬(wàn)里路,只學(xué)書(shū)上的理論是遠(yuǎn)遠(yuǎn)不夠的,只有在實(shí)戰(zhàn)中才能獲得能力的提升,本篇文章手把手帶你用java+SSM+jsp+mysql+maven實(shí)現(xiàn)家政服務(wù)平臺(tái)系統(tǒng),大家可以在過(guò)程中查缺補(bǔ)漏,提升水平
    2021-11-11
  • IDEA運(yùn)行SSM項(xiàng)目的超詳細(xì)圖解教程

    IDEA運(yùn)行SSM項(xiàng)目的超詳細(xì)圖解教程

    SSM項(xiàng)目部署其實(shí)很簡(jiǎn)單,下面這篇文章主要給大家介紹了關(guān)于IDEA運(yùn)行SSM項(xiàng)目的超詳細(xì)圖解教程,文中通過(guò)圖文介紹的非常詳細(xì),需要的朋友可以參考下
    2023-10-10
  • Springboot通過(guò)lucene實(shí)現(xiàn)全文檢索詳解流程

    Springboot通過(guò)lucene實(shí)現(xiàn)全文檢索詳解流程

    Lucene是一個(gè)基于Java的全文信息檢索工具包,它不是一個(gè)完整的搜索應(yīng)用程序,而是為你的應(yīng)用程序提供索引和搜索功能。Lucene 目前是 Apache Jakarta 家族中的一個(gè)開(kāi)源項(xiàng)目,也是目前最為流行的基于 Java 開(kāi)源全文檢索工具包
    2022-06-06

最新評(píng)論