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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

Java常用类(5)--不可变的任意精度BigInteger、BigDecimal类

發布時間:2023/12/2 java 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Java常用类(5)--不可变的任意精度BigInteger、BigDecimal类 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文章目錄

    • BigInteger類
    • BigDecimal類



BigInteger類

Integer類作為int的包裝類,能存儲的最大整型值為2^31-1,Long類也是有限的,
最大為2^63-1。如果要表示再大的整數,不管是基本數據類型還是他們的包裝類
都無能為力。

java.math包的BigInteger可以表示不可變的任意精度的整數。BigInteger 提供所有 Java 的基本整數操作符的對應物,并提供 java.lang.Math 的所有相關方法。另外,BigInteger 還提供以下運算:模算術、GCD 計算、質數測試、素數生成、位操作以及一些其他操作。

構造器:
BigInteger(String val):根據字符串構建BigInteger對象

常用方法:
①BigInteger abs():返回此 BigInteger 的絕對值的 BigInteger
②BigInteger add(BigInteger val):返回其值為 (this + val) 的 BigInteger
③BigInteger subtract(BigInteger val):返回其值為 (this - val) 的 BigInteger
④BigInteger multiply(BigInteger val):返回其值為 (this * val) 的 BigInteger
⑤BigInteger divide(BigInteger val):返回其值為 (this / val) 的 BigInteger,整數
相除只保留整數部分
⑥BigInteger remainder(BigInteger val):返回其值為 (this % val) 的 BigInteger
⑦BigInteger[] divideAndRemainder(BigInteger val):返回包含 (this / val) 后跟
(this % val) 的兩個 BigInteger 的數組
⑧BigInteger pow(int exponent):返回其值為 (this^exponent) 的 BigInteger



BigDecimal類

一般的Float類和Double類可以用來做科學計算或工程計算,但在商業計算中,要求數字精度比較高,故用到java.math.BigDecimal類。BigDecimal類支持不可變的、任意精度的有符號十進制定點數。

構造器:
①public BigDecimal(double val)
②public BigDecimal(String val)

常用方法:
①BigDecimal add(BigDecimal augend)
②BigDecimal subtract(BigDecimal subtrahend)
③BigDecimal multiply(BigDecimal multiplicand)
④BigDecimal divide(BigDecimal divisor, int scale, int roundingMode)

import java.math.BigDecimal; import java.math.BigInteger;public class BigDecimalTest {public static void main(String[] args) {BigInteger bi = new BigInteger("12433241333123");BigDecimal bd = new BigDecimal("1241135.351");BigDecimal bd2 = new BigDecimal("1335231");System.out.println(bi);System.out.println(bd.divide(bd2, BigDecimal.ROUND_HALF_UP));System.out.println(bd.divide(bd2, 15, BigDecimal.ROUND_HALF_UP));} }

總結

以上是生活随笔為你收集整理的Java常用类(5)--不可变的任意精度BigInteger、BigDecimal类的全部內容,希望文章能夠幫你解決所遇到的問題。

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