java浮点运算精度问题的解决
2004-10-28 23:59
841 查看
import java.math.BigDecimal;
public float add(float v1,float v2){
BigDecimal b1 = new BigDecimal(Float.toString(v1));
BigDecimal b2 = new BigDecimal(Float.toString(v2));
return b1.add(b2).floatValue();
}
public float sub(float v1,float v2){
BigDecimal b1 = new BigDecimal(Float.toString(v1));
BigDecimal b2 = new BigDecimal(Float.toString(v2));
return b1.subtract(b2).floatValue();
}
public float mul(float v1,float v2){
BigDecimal b1 = new BigDecimal(Float.toString(v1));
BigDecimal b2 = new BigDecimal(Float.toString(v2));
return b1.multiply(b2).floatValue();
}
public float div(float v1,float v2){
BigDecimal b1 = new BigDecimal(Float.toString(v1));
BigDecimal b2 = new BigDecimal(Float.toString(v2));
return b1.divide(b2,3,BigDecimal.ROUND_HALF_UP).floatValue();
}
public float round(float v){
BigDecimal b = new BigDecimal(Float.toString(v));
BigDecimal one = new BigDecimal("1");
return b.divide(one,3,BigDecimal.ROUND_HALF_UP).floatValue();
}
public float add(float v1,float v2){
BigDecimal b1 = new BigDecimal(Float.toString(v1));
BigDecimal b2 = new BigDecimal(Float.toString(v2));
return b1.add(b2).floatValue();
}
public float sub(float v1,float v2){
BigDecimal b1 = new BigDecimal(Float.toString(v1));
BigDecimal b2 = new BigDecimal(Float.toString(v2));
return b1.subtract(b2).floatValue();
}
public float mul(float v1,float v2){
BigDecimal b1 = new BigDecimal(Float.toString(v1));
BigDecimal b2 = new BigDecimal(Float.toString(v2));
return b1.multiply(b2).floatValue();
}
public float div(float v1,float v2){
BigDecimal b1 = new BigDecimal(Float.toString(v1));
BigDecimal b2 = new BigDecimal(Float.toString(v2));
return b1.divide(b2,3,BigDecimal.ROUND_HALF_UP).floatValue();
}
public float round(float v){
BigDecimal b = new BigDecimal(Float.toString(v));
BigDecimal one = new BigDecimal("1");
return b.divide(one,3,BigDecimal.ROUND_HALF_UP).floatValue();
}
相关文章推荐
- JAVA的浮点运算精度问题的解决
- 【Java】解决计算浮点数精度问题(BigDecimal)
- Java使用BigDecimal解决浮点型运算丢失精度的问题
- Javascript 浮点运算精度问题分析与解决
- Java Double运算精度问题解决
- java 解决double运算精度问题(使用BigDecimal )
- Javascript 浮点运算精度问题分析与解决
- java 解决double运算精度问题(使用BigDecimal )
- java浮点数运算不准确问题的解决
- JS浮点类型运算精度丢失问题解决办法
- Java浮点类型(Double/Float)运算精度问题
- JS浮点类型运算精度丢失问题解决办法
- Java中浮点数精度问题的解决方法
- java解决double和float精度不准确的问题
- 关于java中Double类型的运算精度问题
- 关于java中Double类型的运算精度问题
- js浮点运算精度丢失的解决办法
- java float double精度为什么会丢失?浅谈java的浮点数精度问题
- js浮点运算精度丢失的解决办法
- javascript 浮点运算问题分析与解决