华为机试(7):取近似值

package java_huaweijishi;
import java.math.BigDecimal;
import java.util.Scanner;
/**
 *题目:写出一个程序,接受一个正浮点数值,输出该数值的近似整数值。
 *如果小数点后数值大于等于5,向上取整;小于5,则向下取整
 *eg:5.5-6
 * @author hexiaoli
 *
 */
public class TheApproximation {
	public static void main(String[] args) {
		Scanner input = new Scanner(System.in);
		double inputDoubleNumber =0;
		while (input.hasNextDouble()) {
			inputDoubleNumber=input.nextDouble();
			//方法一:
//			System.out.println(Math.round(inputDoubleNumber));
			
			//方法二:.setScale后面表示保留几位小数,默认用四舍五入方式 ;若保留1位小数
			//BigDecimal.ROUND_DOWN直接删除多余的小数位,如2.35会变成2.3 
			//BigDecimal.ROUND_UP进位处理,2.35变成2.4 
			//BigDecimal.ROUND_HALF_UP向上四舍五入,2.35变成2.4
			//BigDecimal.ROUND_HALF_DOWN向下四舍五入,2.35变成2.3
//			BigDecimal iBigDecimal=new BigDecimal(inputDoubleNumber).setScale(0, BigDecimal.ROUND_HALF_UP);
//			System.out.println(iBigDecimal);
			
			//方法三:
			System.out.println((long)(inputDoubleNumber+0.5));
			
			
		}
	}//end main
}// end TheApproximation

猜你喜欢

转载自blog.csdn.net/hxl0925/article/details/91040019