50,527
社区成员
发帖
与我相关
我的任务
分享
public static void main(String[] args) {
double a;
double b;
b = 0.01;
for (int i = 0; i < 1000; i++) {
a = 10 + i * 0.001;
System.out.printf("%f %% %f = %g\n", a, b, mod(a, b));
}
}
public static double mod(double num, double div) {
double reuslt = num % div;
DecimalFormat df = new DecimalFormat("0.000");
return Double.parseDouble(df.format(reuslt));
}
System.out.printf(" %.3f " ,10.0 % 0.1 );
package com.xuz.csdn.june18;
import java.text.DecimalFormat;
public class NumberFormat {
public static void main(String[] args) {
System.out.println(mod(10.0, 0.1));
}
public static String mod(double num, double div) {
DecimalFormat df = new DecimalFormat("######0.000");
return df.format(num % div);
}
}
public static void main(String[] args){
System.out.println(round(10.0,0.1,3));
}
/**
* @param num 除数
* @param div 被除数
* @param scale 小数点后保留几位
* @return 四舍五入的结果
*/
public static String round(double num, double div,int scale){
double reuslt=num%div;
System.out.println(reuslt);
BigDecimal bd=new BigDecimal(Double.toString(reuslt));
BigDecimal one=new BigDecimal("1");
return bd.divide(one,scale,BigDecimal.ROUND_HALF_UP).toString();
}