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

Java BigDecimal除法精度和格式化輸出方式

 更新時(shí)間:2021年08月13日 14:56:42   作者:zehong1995  
這篇文章主要介紹了Java BigDecimal除法精度和格式化輸出方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

BigDecimal除法精度和格式化輸出

import java.math.BigDecimal;
import java.math.MathContext;
import java.math.RoundingMode;
import java.text.DecimalFormat;
public class Main {
    public static void main(String[] args) {
        //保留兩位小數(shù)
        DecimalFormat df1 = new DecimalFormat("0.00"); 
        DecimalFormat df2 = new DecimalFormat("#.##");
        //0.00表示沒數(shù)字位置用0補(bǔ)齊,#。##代表有就有沒有就沒有
        System.out.println(df1.format(0.156));
        System.out.println(df2.format(0.156));
        //高精度實(shí)數(shù)除法
        MathContext mc = new MathContext(10, RoundingMode.HALF_DOWN); //必須設(shè)置精度
        //ROUND_HALF_UP: 遇到0.5的情況時(shí)往上近似,例: 1.5 -> 2
        //ROUND_HALF_DOWN : 遇到0.5的情況時(shí)往下近似,例: 1.5 -> 1
        BigDecimal a = BigDecimal.valueOf(5.16545213);
        BigDecimal b = BigDecimal.valueOf(1.512345);
        BigDecimal ans = a.divide(b, mc); //高精度整數(shù)不用設(shè)置精度,實(shí)數(shù)必須要
        System.out.println(ans);
        System.out.println(df1.format(ans));
    }
}

答案

0.16

0.16

3.415524983

3.42

BigDecimal的用法詳解

保留兩位小數(shù),四舍五入,數(shù)字格式化,科學(xué)計(jì)數(shù)法轉(zhuǎn)數(shù)字,數(shù)字里的逗號(hào)處理

Java在java.math包中提供的API類BigDecimal,用來對(duì)超過16位有效位的數(shù)進(jìn)行精確的運(yùn)算。雙精度浮點(diǎn)型變量double可以處理16位有效數(shù)。

在實(shí)際應(yīng)用中,需要對(duì)更大或者更小的數(shù)進(jìn)行運(yùn)算和處理。float和double只能用來做科學(xué)計(jì)算或者是工程計(jì)算,在商業(yè)計(jì)算中要用java.math.BigDecimal。

BigDecimal所創(chuàng)建的是對(duì)象,我們不能使用傳統(tǒng)的+、-、*、/等算術(shù)運(yùn)算符直接對(duì)其對(duì)象進(jìn)行數(shù)學(xué)運(yùn)算,而必須調(diào)用其相對(duì)應(yīng)的方法。方法中的參數(shù)也必須是BigDecimal的對(duì)象。構(gòu)造器是類的特殊方法,專門用來創(chuàng)建對(duì)象,特別是帶有參數(shù)的對(duì)象。

構(gòu)造器描述

  • BigDecimal(int) 創(chuàng)建一個(gè)具有參數(shù)所指定整數(shù)值的對(duì)象。
  • BigDecimal(double) 創(chuàng)建一個(gè)具有參數(shù)所指定雙精度值的對(duì)象。
  • BigDecimal(long) 創(chuàng)建一個(gè)具有參數(shù)所指定長(zhǎng)整數(shù)值的對(duì)象。
  • BigDecimal(String) 創(chuàng)建一個(gè)具有參數(shù)所指定以字符串表示的數(shù)值的對(duì)象。

方法描述

  • add(BigDecimal) BigDecimal對(duì)象中的值相加,然后返回這個(gè)對(duì)象。
  • subtract(BigDecimal) BigDecimal對(duì)象中的值相減,然后返回這個(gè)對(duì)象。
  • multiply(BigDecimal) BigDecimal對(duì)象中的值相乘,然后返回這個(gè)對(duì)象。
  • divide(BigDecimal) BigDecimal對(duì)象中的值相除,然后返回這個(gè)對(duì)象。
  • toString() 將BigDecimal對(duì)象的數(shù)值轉(zhuǎn)換成字符串。
  • doubleValue() 將BigDecimal對(duì)象中的值以雙精度數(shù)返回。
  • floatValue() 將BigDecimal對(duì)象中的值以單精度數(shù)返回。
  • longValue() 將BigDecimal對(duì)象中的值以長(zhǎng)整數(shù)返回。
  • intValue() 將BigDecimal對(duì)象中的值以整數(shù)返回。

常用方法

保留兩位小數(shù)

/** 
 * 保留兩位小數(shù) 
 */  
@org.junit.Test  
public void formatTest() {  
    double num=13.154215;  
  
    //方式一  
    DecimalFormat df1 = new DecimalFormat("0.00");  
    String str = df1.format(num);  
    System.out.println(str);  //13.15  
  
    //方式二  
    // #.00 表示兩位小數(shù) #.0000四位小數(shù)  
    DecimalFormat df2 =new DecimalFormat("#.00");  
    String str2 =df2.format(num);  
    System.out.println(str2);  //13.15  
  
    //方式三  
    //%.2f %. 表示 小數(shù)點(diǎn)前任意位數(shù)   2 表示兩位小數(shù) 格式后的結(jié)果為f 表示浮點(diǎn)型  
    String result = String.format("%.2f", num);  
    System.out.println(result);  //13.15  
}  

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • @RereshScope刷新的原理詳解

    @RereshScope刷新的原理詳解

    在配合配置中心修改配置讓應(yīng)用自動(dòng)刷新配置時(shí),我們要在需要感知配置變化的bean上面加上@RereshScope。如果我們不加上這注解,那么有可能無法完成配置自動(dòng)刷新。本文就來和大家講講@RereshScope刷新的原理,需要的可以參考一下
    2022-12-12
  • java swagger ui 添加header請(qǐng)求頭參數(shù)的方法

    java swagger ui 添加header請(qǐng)求頭參數(shù)的方法

    今天小編就為大家分享一篇java swagger ui 添加header請(qǐng)求頭參數(shù)的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2019-08-08
  • Java創(chuàng)建二叉搜索樹,實(shí)現(xiàn)搜索,插入,刪除的操作實(shí)例

    Java創(chuàng)建二叉搜索樹,實(shí)現(xiàn)搜索,插入,刪除的操作實(shí)例

    下面小編就為大家分享一篇Java創(chuàng)建二叉搜索樹,實(shí)現(xiàn)搜索,插入,刪除的操作實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助
    2017-12-12
  • java_IO向文件中寫入和讀取內(nèi)容代碼實(shí)例

    java_IO向文件中寫入和讀取內(nèi)容代碼實(shí)例

    這篇文章主要介紹了java_IO向文件中寫入和讀取內(nèi)容,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-03-03
  • Java基礎(chǔ)教程_判斷語句if else

    Java基礎(chǔ)教程_判斷語句if else

    下面小編就為大家?guī)硪黄狫ava基礎(chǔ)教程_判斷語句if else。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2016-06-06
  • IDEA一鍵生成方法的序列圖神操作

    IDEA一鍵生成方法的序列圖神操作

    為了能夠更快更清晰地搞清對(duì)象之間的調(diào)用關(guān)系,我經(jīng)常需要用到序列圖。手動(dòng)畫序列圖還是很麻煩費(fèi)時(shí)的,不過?IDEA?提供了一個(gè)叫做SequenceDiagram?的插件幫助我們解決這個(gè)問題。通SequenceDiagram?這個(gè)插件,我們一鍵可以生成時(shí)序圖
    2022-01-01
  • Java 邏輯運(yùn)算符中&&與&,||與|的區(qū)別

    Java 邏輯運(yùn)算符中&&與&,||與|的區(qū)別

    這篇文章主要介紹了Java中&&與&,||與|的區(qū)別的相關(guān)資料,需要的朋友可以參考下
    2017-05-05
  • javaWeb項(xiàng)目部署到阿里云服務(wù)Linux系統(tǒng)的詳細(xì)步驟

    javaWeb項(xiàng)目部署到阿里云服務(wù)Linux系統(tǒng)的詳細(xì)步驟

    這篇文章主要介紹了javaWeb項(xiàng)目部署到阿里云服務(wù)Linux系統(tǒng),本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-07-07
  • java公眾平臺(tái)通用接口工具類HttpConnectUtil實(shí)例代碼

    java公眾平臺(tái)通用接口工具類HttpConnectUtil實(shí)例代碼

    下面小編就為大家分享一篇java公眾平臺(tái)通用接口工具類HttpConnectUtil實(shí)例代碼,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2018-01-01
  • SpringMvc微信支付回調(diào)示例代碼

    SpringMvc微信支付回調(diào)示例代碼

    微信一直是一個(gè)比較熱門的詞匯,今天這篇文章主要介紹的是SpringMvc微信支付回調(diào)的示例代碼,對(duì)大家開發(fā)微信支付具有一定的參考借鑒價(jià)值,下面來一起看看吧。
    2016-09-09

最新評(píng)論

大悟县| 浮山县| 黄山市| 大埔区| 河源市| 麟游县| 安图县| 石嘴山市| 辽源市| 宜宾县| 永靖县| 青阳县| 云浮市| 涡阳县| 景东| 白银市| 明水县| 浙江省| 若尔盖县| 太白县| 腾冲县| 怀仁县| 会昌县| 大同县| 香河县| 铜川市| 肇庆市| 博乐市| 泸州市| 手游| 宁德市| 仪陇县| 肃北| 二手房| 庐江县| 甘南县| 莲花县| 柘荣县| 河北区| 孟村| 双江|