方式1:被除数转double后,除以除数,结果是一个double类型的数,将double结果按要求保留n位小数即可. 保留n位小数的写法 int a = 10; int b = 3; double res = new BigDecimal((double) a / b).setScale(2, RoundingMode.HALF_UP).doubleValue(); 方式2: 直接使用BigDecimal进行运算 int a = 10; int b = 3; BigDecimal bigA =
//整数相除 保留一位小数 public static String division(int a ,int b){ String result = ""; float num =(float)a/b; DecimalFormat df = new DecimalFormat("0.0"); result = df.format(num); return result; }
两个整数相除会自动省略小数点后的小数位即使下面这种: int a,int b; int a = 4; int b = 3; double d = a/b; d= 1.0000000; --------------------------- 整数除法用 “/”的话得到的是一个整数(得到小数的话自动去掉小数位只保留整数位), 所以这里要得到实际除出来的数的话,先将两个数转化为double类型,再进行“/”除法. 至于要规定输出保留多少位小数,则用cout<<setprecision(2)<&
1.功能 将double类型变量进行四舍五入,并保留小数点后位数 2.代码 import java.math.BigDecimal; import java.math.RoundingMode; import java.text.DecimalFormat; import java.text.NumberFormat; public class Test { /** * 保留两位小数,四舍五入 * @param d * @return */ public static double format