62,616
社区成员
发帖
与我相关
我的任务
分享
double Widget::numberWithPrecision(double number, int precision) const {
double t = Math.pow(10, precision); // 保留的小数位,例如3,则结果是3.234
return ((int)(number * t + 0.5)) / t;
}
import java.util.Scanner;
public class RoundDemo {
/*
* 自定义方法实现四舍五入
*
*/
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
System.out.println("请输入一个小数:");
String num=sc.nextLine();
System.out.println("请输入要保留的位数:");
int i=sc.nextInt();
getRound(num,i);
}
public static void getRound(String num,int i){
//截取要保留位数的后一位
String sub=num.substring((num.indexOf(".")+(i+1)),(num.indexOf(".")+(i+2)));
//把截取到的字符转换为整数类型
int a=Integer.valueOf(sub);
//判断那个数是否大于或小于5
if(a >= 5){
//这里该怎么做?
}
else{
String s=num.substring(0,(num.indexOf(".")+(i+1)));
System.out.println("小数"+num+"保留"+i+"位是:"+s);
}
}
}