java怎么进行浮点数运算_怎样在Java中实现浮点数的精确运算?
package com。lv; import java。math。BigDecimal; public class Arith { 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)。doubleval_rue(); } 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)。doubleval_rue(); } 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)。doubleval_rue(); } public static double div(double v1,double v2){ BigDecimal b1=new BigDecimal(Double。
toString(v1)); BigDecimal b2=new BigDecimal(Double。toString(v2)); return b1。divide(b2,10,BigDecimal。ROUND_HALF_UP)。doubleval_rue(); } 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)。
doubleval_rue(); } 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)。doubleval_rue(); } public static void main(String [] args){ Arith arith=new Arith(); System。
out。println(arith。div(13,3)); } }
以上是我對于這個問題的解答,希望能夠幫到大家。
全部
總結(jié)
以上是生活随笔為你收集整理的java怎么进行浮点数运算_怎样在Java中实现浮点数的精确运算?的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java javafx webview_
- 下一篇: java中的後綴表達式_求Java堆栈,