import java.util.Scanner;
/* 只使用处理I/O的PrintDigit方法,编写一种方法以输出任意double型值(可以是负的)。
*/
class Z_Pra_1_3 {
public static void main(String[] args) {
double n;
Scanner input = new Scanner(System.in);
n = input.nextDouble();
input.close();
printOut(n, 12);// 小数点后12位
}
// 打印double型值
public static void printOut(double n, int a) {
if (n < 0) {
n = -n;
System.out.print('-');
}
long before = (long) n;// 小数点前
double after = n % 1;// 小数点后
printOutLong(before);
System.out.print('.');
printDouble(after, a);
}
// 根据小数位数精度打印double
public static void printDouble(double n, int a) {
if (a == 0) {
printOutLong((long) n);
} else {
n *= 10;
if ((long) n == 0)
System.out.print(0);//0.000123
printDouble(n, a - 1);
}
}
// 打印long
public static void printOutLong(long n) {
if (n >= 10) {
printOutLong(n / 10);
}
System.out.print(n % 10);
}
}
只使用处理I/O的PrintDigit方法,编写一种方法以输出任意double型值。
最新推荐文章于 2021-03-22 20:56:49 发布