Java小程序练习--浮点数的四舍五入

    今天学习到了关于浮点数的知识,而后便编写了一个小demo,实现浮点数的四舍五入,保留两位小数。

具体实现思路如下:

    1.获取用户输入的数字,将其保存到double型变量中;

    2.因为要保存到小数点后的两位,将该数乘以1000,然后强制转成int类型;

    3.对int型变量取余,判断与5的关系(舍还是入);

    4.舍弃就直接用原来的int型变量减掉余数,再除以1000,并保存到double变量中输出

    5.进位就将原来的int型减去余数然后加上10,实现进位,然后在除以1000,保存到double型变量中进行输出。

代码如下:

import java.util.Scanner;

public class Test1 {

	public static void main(String[] args) {
		System.out.println("请输入一个浮点数(小数):");
		Scanner in = new Scanner(System.in);
		double num=in.nextDouble();
		double f=f(num);
		System.out.println("四舍五入后结果为:"+f);
        in.close();
	}

	private static double f(double num) {
		
		int a=0;
		int b=(int) (num*1000);
		a=b%10;
		if(a<5){
			b=b-a;
			return b/1000.0;
			
		}else{
			b=b-a+10;
			return b/1000.0;
		}
	}
}

 

你可能感兴趣的:(Java学习)