一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Java教程 - Java中BigDecimal的基本運算(詳解)

Java中BigDecimal的基本運算(詳解)

2021-01-24 11:14weknow619 Java教程

下面小編就為大家帶來一篇Java中BigDecimal的基本運算(詳解)。小編覺得挺不錯的,現在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

BigDecimal一共有4個夠造方法,讓來看看其中比較常用的兩種用法:

第一種:BigDecimal(double val)

Translates a double into a BigDecimal.

第二種:BigDecimal(String val)

Translates the String repre sentation of a BigDecimal into a BigDecimal.

使用BigDecimal要用String來夠造,要做一個加法運算,需要先將兩個浮點數轉為String,然后夠造成BigDecimal,在其中一個上調用add方法,傳入另一個作為參數,然后把運算的結果(BigDecimal)再轉換為浮點數。

?
1
2
3
4
5
6
public static double add(double v1,double v2)
public static double sub(double v1,double v2)
public static double mul(double v1,double v2)
public static double div(double v1,double v2)
public static double div(double v1,double v2,int scale)
public static double round(double v,int scale)

基本使用:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
public class Arith{
 
 private static final int DEF_DIV_SCALE = 10; //這個類不能實例化
 
 private Arith(){
  
 }
 
 /**
 * 提供精確的加法運算。
 * @param v1 被加數
 * @param v2 加數
 * @return 兩個參數的和
 */
 public static double add(double v1,double v2){
  BigDecimal b1 = new BigDecimal(Double.toString(v1));
  BigDecimal b2 = new BigDecimal(Double.toString(v2));
  return b1.add(b2).doubleValue();
 }
 
 /**
 * 提供精確的減法運算。
 * @param v1 被減數
 * @param v2 減數
 * @return 兩個參數的差
 */
 public static double sub(double v1,double v2){
  BigDecimal b1 = new BigDecimal(Double.toString(v1));
  BigDecimal b2 = new BigDecimal(Double.toString(v2));
  return b1.subtract(b2).doubleValue();
 }
 
 /**
 * 提供精確的乘法運算。
 * @param v1 被乘數
 * @param v2 乘數
 * @return 兩個參數的積
 */
 public static double mul(double v1,double v2){
  BigDecimal b1 = new BigDecimal(Double.toString(v1));
  BigDecimal b2 = new BigDecimal(Double.toString(v2));
  return b1.multiply(b2).doubleValue();
 }
 
 /**
 * 提供(相對)精確的除法運算,當發生除不盡的情況時,精確到
 * 小數點以后10位,以后的數字四舍五入。
 * @param v1 被除數
 * @param v2 除數
 * @return 兩個參數的商
 */
 public static double div(double v1,double v2){
  return div(v1,v2,DEF_DIV_SCALE);
 }
 
 /**
 * 提供(相對)精確的除法運算。當發生除不盡的情況時,由scale參數指
 * 定精度,以后的數字四舍五入。
 * @param v1 被除數
 * @param v2 除數
 * @param scale 表示表示需要精確到小數點以后幾位。
 * @return 兩個參數的商
 */
 public static double div(double v1,double v2,int scale){
  if(scale<0){
   throw new IllegalArgumentException("The scale must be a positive integer or zero");
  }
  BigDecimal b1 = new BigDecimal(Double.toString(v1));
  BigDecimal b2 = new BigDecimal(Double.toString(v2));
  return b1.divide(b2,scale,BigDecimal.ROUND_HALF_UP).doubleValue();
 }
 
 /**
 * 提供精確的小數位四舍五入處理。
 * @param v 需要四舍五入的數字
 * @param scale 小數點后保留幾位
 * @return 四舍五入后的結果
 */
 public static double round(double v,int scale){
  if(scale<0){
   throw new IllegalArgumentException("The scale must be a positive integer or zero");
  }
  BigDecimal b = new BigDecimal(Double.toString(v));
  BigDecimal one = new BigDecimal("1");
  return b.divide(one,scale,BigDecimal.ROUND_HALF_UP).doubleValue();
 }
}

以上這篇Java中BigDecimal的基本運算(詳解)就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持服務器之家。

原文鏈接:http://www.cnblogs.com/weknow619/p/7682646.html

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 夫妻性生活免费在线观看 | 日本不卡免费新一二三区 | 4455永久在线观免费看片 | 操比视频 | 狐媚小说 | 大陆男同志gayxxx | 香蕉tv亚洲专区在线观看 | 男人j放进女人的p视频免费 | 调教人妖 | 日本精品一区二区三区 | a∨79成人网 | 国产亚洲精品第一综合另类 | 欧美在线观看一区二区三 | 狠狠色96视频| 国内精品91东航翘臀女神在线 | bl文全肉高h湿被灌尿 | 黑人破中国女人处 | 99精品热视频 | 2018成年动漫在线观看 | 天堂在线看 | 丝袜兔女郎被啪在线观看91 | 亚洲第一男人天堂 | 国产在线麻豆波多野结衣 | 精品国产mmd在线观看 | 99久久国产亚洲综合精品 | 91进入蜜桃臀在线播放 | 韩国一级淫片特黄特刺激 | 国产第一福利视频导航在线 | 欧美亚洲国产精品久久第一页 | 特级夫妻大片免费在线播放 | 女主被男主为催奶药h | 操小女人| 草草草视频在线观看 | 妇乱子伦激情 | 成人啪啪漫画羞羞漫画www网站 | 亚洲精品91 | 日本一区二区三区国产 | 摸进老太婆的裤裆小说 | 精品亚洲国产一区二区 | 色播导航 | 国产-第1页-草草影院 |