Java简单方法求Double类型小数点后两位
需求:用户输入一个小数,保留小数点后两位(其后舍弃),如3.1415926–>3.14
整体思路:将输入的数字放大100倍,十位、个位就是小数点后两位,百位千位以上就为源数字直接输出,最后将计算好的数字转换回double方便后续计算。
import java.util.Scanner;
public class Demo {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入一个小数:");
double num = scanner.nextDouble();
int numTemp = (int)(num*100);
int a = numTemp/100; //求出百位之前
int b = numTemp/10%10; //求出十位
int c = numTemp%10; //求出个位
String numString = a + "." + b + c; //这个已经达到目的
num = Double.parseDouble(numString); //转换成double类型,方便以后使用
System.out.println(num);
}
}
此方法不是最合适的方法,但可能是最简单易于理解的方法。
在面临去除小数点后n位,此方法可能会有很多麻烦
【新人学习记录】