java中大數處理和高精度小數處理(so easy)
試用範圍:當對資料處理時,最大的long型不能裝下,這時候就需要採用大數BigInteger來解決
簡單的例子:
package cn.hncu.BigNUM;
import java.math.BigInteger;
public class bigIntegerdemo {
public static void main(String[] args) {
BigInteger sum=jc(100);//計算100的階乘是很大的數,long是超範圍的,所以採用Java 中的大數處理,BigInteger
System.out.println(sum);
}
private static BigInteger jc(int n) {
BigInteger s=BigInteger.valueOf(1);//必須先變成bigInteger型別的才能進行運算
for(int i=1;i<=n;i++){
s=s.multiply(BigInteger.valueOf(i));//BigInteger的函式乘法也要用到函式
}
return s;
}
}
若是採用double 值來操作,就會可能出現0.9999等一些近似值
部分簡單程式碼
package cn.hncu.BigNUM;
import java.math.BigDecimal;
public class BigDecimal1 {
//高精度數處理
public static void main(String[] args) {
double sum=0;
for(int i=0;i<10;i++){
sum=sum+0.1;
}//0.9999999999999999
System.out.println(sum);//這樣的結果,是按著科學計演算法來算,如double 四位,用二進位制來表示,因為不可能完全能夠表示,所以去了近似值
add();
}
private static void add() {
BigDecimal be =new BigDecimal(0);
for(int i=0;i<10;i++){
be=be.add(new BigDecimal(0.1));//變成高精度後,會運算精準
}
System.out.println(be.doubleValue());//1.0
}
}
相關文章
- Transact-SQL處理小數SQL
- Java入門教程五(數字和日期處理)Java
- php 處理 浮點數 精度運算 數字處理等PHP
- hutool jsonutil BigDecimal 保留小數點處理JSONDecimal
- MyBatis 引數處理MyBatis
- 數學處理類
- 利用Java處理Jmeter介面常用引數JavaJMeter
- 大數加法(處理不了負數)
- python處理浮點數Python
- 數字影象處理DIP
- Windows批處理中的變數和值Windows變數
- JavaScript 中的引數處理JavaScript
- 訊號處理基本引數
- Mybatis引數處理總結MyBatis
- 多對一處理 和一對多處理的處理
- Java處理emojiJava
- 數字影象處理-第一節
- 聊聊介面最大併發處理數
- [00]數字影像處理-matlab速成Matlab
- 【封裝小技巧】數字處理函式的封裝封裝函式
- Java 異常處理:使用和思考Java
- 麒麟659和麒麟710處理器引數比較
- 使用Octave音訊處理(三):數學技術處理音訊檔案音訊
- Python錯誤處理和異常處理(二)Python
- Apache Beam,批處理和流式處理的融合!Apache
- java時間處理Java
- JAVA 異常處理Java
- Java 異常處理Java
- JAVA異常處理Java
- Java 處理Pdf尺寸Java
- 批處理-刪除環境變數變數
- MySQL 數值型別溢位處理MySql型別
- 數字影像處理相關練習
- 數字影像處理-取樣量化(Matlab)Matlab
- (1) Pytorch深度學習—數值處理PyTorch深度學習
- Photomatix Pro 數字照片處理軟體
- spring.jackson 相差8小時,restful接收Date引數處理SpringREST
- MATLAB數字訊號處理(2)LFM脈衝雷達回波處理模擬Matlab
- 數字孿生汙水處理廠 助力資料採集視覺化處理視覺化