java中int,float,double的运算问题,BigDecimal加减乘除计算
1.两个int型数字相除,如果除数比被除数大很多,结果会为0.此时需要对其中一个数进行强制类型转换(float / double)即可输出正确结果
public static void main(String[] args){
String a="5";
String b="200";
float d=inta/intb;//直接除
float d2=(float)inta/intb;//被除数强制转型float
float d3=inta/(float)intb;//除数强制转型float
float d4=(float)inta/(float)intb;//都强制转换
//分别输出
System.out.println(d);
System.out.println(d2);
System.out.println(d3);
System.out.println(d4);
2.Java中的浮点数类型float和double不能够进行精确运算。这个问题有时候非常严重。比如,经过double型直接计算,1.4×1.5有时会得出2.0999999999999996的结果,但实际上,应该得到2.10。而且,类似的情况并不仅限于乘法计算。
BigDecimal用法详解
-
Java在java.math包中提供的API类Bi