1. 程式人生 > >java BigDecimal加法/減法/乘法/除法 保留兩位小數

java BigDecimal加法/減法/乘法/除法 保留兩位小數

1.BigDecimal類概述及其構造方法

  由於在運算的時候,float型別和double型別很容易丟失進度,所以,為了能夠精確的表示、計算浮點數,java提供了BigDecimal類
  BigDecimal類是不可變得、任意精度的有符號是進位制數

2.構造方法及成員方法

/**
 * BigDecimal類
 * 由於在運算的時候,float型別和double型別很容易丟失精度。所以,為了能精確的表示、計算浮點數。
 * java提供了BigDecimal類
 * BigDecimal類是不可變的、任意精度的有符號十進位制數。
 * 構造方法
 *    public BigDecimal(String val)
 * 成員方法
 *    public BigDecimal add(BigDecimal value)
 *    public BigDecimal subtract(BigDecimal value)
 *    public BigDecimal multiply(BigDecimal value)
 *    public BigDecimal divide(BigDecimal value)
 *    public BigDecimal divide(BigDecimal value,int scale,int roundingMode)
 */
public class BidDecimalDemo {
    public static void main(String[] args) {
        BigDecimal b1 = new BigDecimal("0.09");
        BigDecimal b2 = new BigDecimal("0.01");
         
        //public BigDecimal add(BigDecimal value)
        System.out.println(b1.add(b2));//0.10
         
        //public BigDecimal subtract(BigDecimal value)
        System.out.println(b1.subtract(b2));//0.08
         
        //public BigDecimal multiply(BigDecimal value)
        System.out.println(b1.multiply(b2));//0.0009
         
        //public BigDecimal divide(BigDecimal value)
        System.out.println(b1.divide(b2));//9
         
        //public BigDecimal divide(BigDecimal value,int scale,int roundingMode)
        System.out.println(b1.divide(b2, 2,BigDecimal.ROUND_HALF_UP));//9.00
    }

}

相關推薦

java BigDecimal加法/減法/乘法/除法 保留小數

1.BigDecimal類概述及其構造方法   由於在運算的時候,float型別和double型別很容易丟失進度,所以,為了能夠精確的表示、計算浮點數,java提供了BigDecimal類   BigDecimal類是不可變得、任意精度的有符號是進位制數 2.構造方法及成

Java BigDecimal使用 Java BigDecimal詳解 BigDecimal的用法詳解(保留小數,四捨五入,數字格式化,科學計數法轉數字,數字裡的逗號處理)

1.引言  float和double型別的主要設計目標是為了科學計算和工程計算。他們執行二進位制浮點運算,這是為了在廣域數值範圍上提供較為精確的快速近似計算而精心設計的。然而,它們沒有提供完全精確的結果,所以不應該被用於要求精確結果的場合。但是,商業計算往往要求結果精確,這時候BigDecimal

乘法運算保留小數

split ccm 0.12 保留兩位小數 pan catch () urn ring jq下進行乘法運算: var num=accMul(0.123,2.21);//0.27183 num=decimal(num,2);//0.27 //精確乘法運算 function

BigDecimal的用法詳解(保留小數,四舍五入,數字格式化,科學計數法轉數字,數字裏的逗號處理)

intvalue tom 引用 方法 mda ubi 結果 oid 創建 一、簡介 Java在java.math包中提供的API類BigDecimal,用來對超過16位有效位的數進行精確的運算。雙精度浮點型變量doubl

sql sql計算除法保留小數sql中分母為零處理

1  select   d.name, case when SUM(a.grid_capacity)=0 then 0 else ROUND(SUM(c.year_power)/SUM(a.grid_capacity), 2)   end as 'hours',

Python中的除法保留小數

在C/C++語言對於整形數執行除法會進行地板除(捨去小數部分)。例如 int a=15/10; a的結果為1。 同樣的在Java中也是如此,所以兩個int型的資料相除需要返回一個浮點型資料的時候就需要強制型別轉換,例如 float a = (float)b/c

BigDecimal的用法詳解(保留小數,四捨五入,數字格式化,科學計數法轉數字,數字裡的逗號處理)

一、簡介     Java在java.math包中提供的API類BigDecimal,用來對超過16位有效位的數進行精確的運算。雙精度浮點型變數double可以處理16位有效數。在實際應用中,需要對更大或者更小的數進行運算和處理。float和double只能用來做科學計算或

java——大數加法減法乘法

import java.math.BigInteger; public class Main { public static void main(String[] args) { String num1 = "999999999999999999999999999999"; String num2

BigDecimal除法保留小數

BigDecimal numBigDecimal=new BigDecimal(5.33);  numBigDecimal=ConvertNumber(numBigDecimal,3,2);//呼叫,5.33/3後保留兩位小數1.7766666=1.78//BigDecima

Java 保留小數BigDecimal和DecimalFormat用法)

萌新今晚用java刷題時候,發現讓人保留兩位小數的題,查百度之後發現有四種方法。然而我覺得我百度到的方法我都看不懂(´-ι_-`)。於是在我多方查證以及自我實驗之後總結兩個好使的法子。 BigDeci

java 除法結果保留小數小數保留前導零

  DecimalFormat df1 = new DecimalFormat(“0.0″); //保留1位小數,帶前導零 DecimalFormat df2 = new DecimalFormat(“#.#”); //保留1位小數,可以不帶前導零 DecimalForma

Java-小技巧-005-double類型保留小數4種方法

bsp 轉換 args clear cal instance double static ati 4種方法,都是四舍五入,例: import java.math.BigDecimal; import java.text.Decimal

Java float保留小數或多小數

plain ima itl highlight border 十進制 syn 兩位小數 ice 方法1:用Math.round計算,這裏返回的數字格式的. 1 2 3 4 float price=89.89; int itemNum=3; fl

Java 保留小數填坑

style 之前 sys 保留兩位小數 pre back 0.00 system 保留 下面直接上代碼: DecimalFormat df1 = new DecimalFormat("#.00");DecimalFormat df2 = new DecimalFormat(

java 四舍五入保留小數

post 保留 print 字符 clas java body 小數 pos // 保留兩位小數 System.out.println(Double.parseDouble(String.format("%.2f", 55.5454545454))); // 保

Java保留小數

bsp 輸出結果 ring int ima 轉換 使用 java value 1 //1、只要輸出結果的時候可以用以下方法: 2 double x1 = 0.026; 3 System.out.println(String.format("%.2f", x1));

java保留小數4種方法(轉載)

cal AI maximum 保留兩位小數 tps 控制 .text int .html 喵喵最近經常遇到小數點保留的問題,轉載一篇Java裏面的幾種小數點位數控制方法。 這是轉載的原地址:https://www.cnblogs.com/chenrenshui/p/6128

BigDecimal保留小數,或指定精確的位數

floor set spa 函數 情況 println AD ring out public static void main(String[] args) { BigDecimal t1 = new BigDecimal("3.15289");

java四舍五入(保留小數)

float 結果 兩個 ring 3.4 java 表示 hal res 方式一:最簡單的方法: float a = 123.4567f; // 這裏的100就是2位小數點,如果要其它位,如4位,這裏兩個100改成10000 float b = (float)(Math.

BigDecimal 保留小數

DecimalFormat df = new DecimalFormat("#.00"); System.out.println("df.format(26.36541):" + df.format(26.36541)); BigDecimal b2 = new BigDecimal("20