0
点赞
收藏
分享

微信扫一扫

【华为OJ7】取近似值


题目描述


写出一个程序,接受一个正浮点数值,输出该数值的近似整数值。如果小数点后数值大于等于5,向上取整;小于5,则向下取整。



import java.util.Scanner;

public class Main{
private static int getApproxiateNumber(float num){
String str=String.valueOf(num);
int index=0;
//12.5 获取小数点后第一位数字 5
while(str.charAt(index)!='.'){
index++;
}
//12.5 获取小数点前的数字 12
String strN=str.substring(0,index);
//转化成字符串
int n=Integer.parseInt(strN);

//判断>5 向上取整
if(str.charAt(index+1)>='5'){
return n+1;
}
//否则不变
return n;
}
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
while(sc.hasNext()){
float n2=sc.nextFloat();
int n=getApproxiateNumber(n2);
System.out.println(n);
}
sc.close();

}
}





简单的方法:12.6:    12.6*10+5=131,131/10=13




所以代码是:



return (int)(num*10+5)/10;





举报

相关推荐

0 条评论