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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

处理大数据

發布時間:2023/12/18 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 处理大数据 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1 package com.jdk7.chapter3; 2 3 import java.math.BigDecimal; 4 5 public class HandleBigDecimal { 6 public static double add(double a1, double a2){ 7 //聲明BigDecimal對象進行數學計算時,參數使用String會比較準確 8 BigDecimal a = new BigDecimal(Double.valueOf(a1).toString()); 9 BigDecimal b = new BigDecimal(Double.valueOf(a2).toString()); 10 System.out.println(a+"+"+b+" = "+a.add(b)); 11 return a.add(b).doubleValue(); 12 } 13 14 public static double sub(double s1,double s2){ 15 BigDecimal a = new BigDecimal(Double.valueOf(s1).toString()); 16 BigDecimal b = new BigDecimal(Double.valueOf(s2).toString()); 17 System.out.println(a+"-"+b+" = "+a.subtract(b)); 18 return a.subtract(b).doubleValue(); 19 } 20 21 public static double multiply(double m1, double m2){ 22 BigDecimal a = new BigDecimal(Double.valueOf(m1).toString()); 23 BigDecimal b = new BigDecimal(Double.valueOf(m2).toString()); 24 System.out.println(a+"*"+b+" = "+a.multiply(b)); 25 return a.multiply(b).doubleValue(); 26 } 27 28 public static double div(double d1, double d2){ 29 return div(d1, d2, 4); 30 } 31 32 public static double div(double v1, double v2, int scale){ 33 if(scale<0){ 34 System.err.println("精度不能小于0"); 35 return 0; 36 }else{ 37 BigDecimal a = new BigDecimal(Double.valueOf(v1).toString()); 38 BigDecimal b = new BigDecimal(Double.valueOf(v2).toString()); 39 System.out.println(a+"/"+b+" = "+a.divide(b, scale)); 40 return a.divide(b, scale).doubleValue(); 41 } 42 } 43 44 /** 45 * 計算整數階乘,當整數超過17時,階乘超出long的范圍,此時階乘結果要用BigDecimal類型保存 46 * @return 47 */ 48 public static BigDecimal getFactorial(int n){ 49 if(n<0){ 50 System.out.println((new BigDecimal("-1")).toString()); 51 return new BigDecimal("-1"); 52 }else if(n==0){ 53 System.out.println((new BigDecimal("0")).toString()); 54 return new BigDecimal("0"); 55 }else{ 56 BigDecimal result = new BigDecimal("1"); 57 for(;n>0;n--){ 58 result = result.multiply(new BigDecimal(Integer.valueOf(n).toString())); 59 } 60 System.out.println(result.toString()); 61 return result; 62 } 63 } 64 public static void main(String[] args) { 65 add(0.01,0.05); 66 sub(1.0,0.42); 67 multiply(4.015,100); 68 div(123.3,100); 69 div(123.3,100,4); 70 // div(123.3,100,-1); 71 getFactorial(-1); 72 getFactorial(0); 73 getFactorial(30); 74 75 BigDecimal a = new BigDecimal(0.1); //double類型的構造函數 76 BigDecimal b = new BigDecimal("0.1"); //String類型的構造函數 77 BigDecimal c = new BigDecimal("0.10"); //String類型的構造函數 78 System.out.println("a = "+a.toString()); 79 System.out.println("b = "+b.toString()); 80 System.out.println("c = "+c.toString()); 81 System.out.println("a.equals(b) = "+a.equals(b)); //進行字符串的比較 82 System.out.println("a.compareTo(b) = "+a.compareTo(b)); //進行數值的比較,a是double構造對象,大于b 83 System.out.println("b.compareTo(c) = "+b.compareTo(c)); 84 85 } 86 } 87 88 處理結果: 89 0.01+0.05 = 0.06 90 1.0-0.42 = 0.58 91 4.015*100.0 = 401.5000 92 123.3/100.0 = 1.2 93 123.3/100.0 = 1.2 94 -1 95 0 96 265252859812191058636308480000000 97 a = 0.1000000000000000055511151231257827021181583404541015625 98 b = 0.1 99 c = 0.10 100 a.equals(b) = false 101 a.compareTo(b) = 1 102 b.compareTo(c) = 0

?

轉載于:https://www.cnblogs.com/celine/p/8306359.html

總結

以上是生活随笔為你收集整理的处理大数据的全部內容,希望文章能夠幫你解決所遇到的問題。

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