当前位置:   article > 正文

java中浮点数做运算,Java中浮点数的精确运算方法

java arith.div(

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));

}

}

标签:

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,尊重他人劳动成果

文章转载自:网络转载

a6e1590ae4b228073faff3806334194e.png0

好文不易,鼓励一下吧!

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/花生_TL007/article/detail/319786
推荐阅读
相关标签
  

闽ICP备14008679号