java格式化输入输出整理(不定时更新)
程序员文章站
2022-07-15 10:08:32
...
java格式化输入输出
输入
格式1:Scanner sc = new Scanner (new BufferedInputStream(System.in))
格式2:Scanner sc = new Scanner (System.in);
在读入数据量大的情况下,格式1的速度会快些。
读一个整数: int n = sc.nextInt();
读一个字符串:String s = sc.next();
读一个浮点数:double t = sc.nextDouble();
读一整行: String s = sc.nextLine();
判断是否有下一个输入可以用sc.hasNext()或sc.hasNextInt()或sc.hasNextDouble()或sc.hasNextLine()
小数四舍五入输出
方法一、String.format(“小数格式”, 小数)
代码示例:
public class Demo01 {
public static void main(String[] args) {
double d01 = 3.1415926;
double d02 = 3.019;
double d03 = 3.9998765;
double d04 = 9.9988;
double d05 = 0.1;
System.out.print(String.format("%.2f", d01)+"\t");
System.out.println(String.format("%.3f", d01));
System.out.print(String.format("%.2f", d02)+"\t");
System.out.println(String.format("%.3f", d02));
System.out.print(String.format("%.2f", d03)+"\t");
System.out.println(String.format("%.3f", d03));
System.out.print(String.format("%.2f", d04)+"\t");
System.out.println(String.format("%.3f", d04));
System.out.print(String.format("%.2f", d05)+"\t");
System.out.println(String.format("%.3f", d05));
}
}
结果
方法二、new DecimalFormat(“小数格式”).format(小数)
注意:小数格式的模板占位符有0和#两种,在不同的地方,作用不一样。
代码示例:
package com.ylw.id01;
import java.text.DecimalFormat;
//java小数格式化输出
//使用格式
//new DecimalFormat("小数格式").format(小数)
//小数格式的模板占位符有0和#两种,在不同的地方,作用不一样。
public class Demo01 {
public static void main(String[] args) {
double d01 = 3.1415926;
double d02 = 3.019;
double d03 = 3.9998765;
double d04 = 9.9988;
double d05 = 0.1;
System.out.println("占位模板:\"0.00\"\t 小数:" + d01 + " \t 格式化后:" + new DecimalFormat("0.00").format(d01));
System.out.println("占位模板:\"00.00\"\t 小数:" + d01 + " \t 格式化后:" + new DecimalFormat("00.00").format(d01));
System.out.println("占位模板:\"00.000\"\t 小数:" + d01 + " \t 格式化后:" + new DecimalFormat("00.000").format(d01));
System.out.println("占位模板:\"#.##\" \t 小数:" + d01 + " \t 格式化后:" + new DecimalFormat("#.##").format(d01));
System.out.println("占位模板:\"##.##\" \t 小数:" + d01 + " \t 格式化后:" + new DecimalFormat("##.##").format(d01));
System.out.println("占位模板:\"##.###\" \t 小数:" + d01 + " \t 格式化后:" + new DecimalFormat("##.###").format(d01));
System.out.println("占位模板:\"#.00\"\t 小数:" + d01 + " \t 格式化后:" + new DecimalFormat("#.00").format(d01));
System.out.println("占位模板:\"##.00\"\t 小数:" + d01 + " \t 格式化后:" + new DecimalFormat("##.00").format(d01));
System.out.println("占位模板:\"##.000\"\t 小数:" + d01 + " \t 格式化后:" + new DecimalFormat("##.000").format(d01));
System.out.println("占位模板:\"0.##\"\t 小数:" + d01 + " \t 格式化后:" + new DecimalFormat("0.##").format(d01));
System.out.println("占位模板:\"00.##\"\t 小数:" + d01 + " \t 格式化后:" + new DecimalFormat("00.##").format(d01));
System.out.println("占位模板:\"00.###\"\t 小数:" + d01 + " \t 格式化后:" + new DecimalFormat("00.###").format(d01));
System.out.println("--------------------------------------------------------");
System.out.println("占位模板:\"0.00\"\t 小数:" + d02 + " \t 格式化后:" + new DecimalFormat("0.00").format(d02));
System.out.println("占位模板:\"00.00\"\t 小数:" + d02 + " \t 格式化后:" + new DecimalFormat("00.00").format(d02));
System.out.println("占位模板:\"00.000\"\t 小数:" + d02 + " \t 格式化后:" + new DecimalFormat("00.000").format(d02));
System.out.println("占位模板:\"#.##\" \t 小数:" + d02 + " \t 格式化后:" + new DecimalFormat("#.##").format(d02));
System.out.println("占位模板:\"##.##\" \t 小数:" + d02 + " \t 格式化后:" + new DecimalFormat("##.##").format(d02));
System.out.println("占位模板:\"##.###\" \t 小数:" + d02 + " \t 格式化后:" + new DecimalFormat("##.###").format(d02));
System.out.println("占位模板:\"#.00\"\t 小数:" + d02 + " \t 格式化后:" + new DecimalFormat("#.00").format(d02));
System.out.println("占位模板:\"##.00\"\t 小数:" + d02 + " \t 格式化后:" + new DecimalFormat("##.00").format(d02));
System.out.println("占位模板:\"##.000\"\t 小数:" + d02 + " \t 格式化后:" + new DecimalFormat("##.000").format(d02));
System.out.println("占位模板:\"0.##\"\t 小数:" + d02 + " \t 格式化后:" + new DecimalFormat("0.##").format(d02));
System.out.println("占位模板:\"00.##\"\t 小数:" + d02 + " \t 格式化后:" + new DecimalFormat("00.##").format(d02));
System.out.println("占位模板:\"00.###\"\t 小数:" + d02 + " \t 格式化后:" + new DecimalFormat("00.###").format(d02));
System.out.println("--------------------------------------------------------");
System.out.println("占位模板:\"0.00\"\t 小数:" + d03 + " \t 格式化后:" + new DecimalFormat("0.00").format(d03));
System.out.println("占位模板:\"00.00\"\t 小数:" + d03 + " \t 格式化后:" + new DecimalFormat("00.00").format(d03));
System.out.println("占位模板:\"00.000\"\t 小数:" + d03 + " \t 格式化后:" + new DecimalFormat("00.000").format(d03));
System.out.println("占位模板:\"#.##\" \t 小数:" + d03 + " \t 格式化后:" + new DecimalFormat("#.##").format(d03));
System.out.println("占位模板:\"##.##\" \t 小数:" + d03 + " \t 格式化后:" + new DecimalFormat("##.##").format(d03));
System.out.println("占位模板:\"##.###\" \t 小数:" + d03 + " \t 格式化后:" + new DecimalFormat("##.###").format(d03));
System.out.println("占位模板:\"#.00\"\t 小数:" + d03 + " \t 格式化后:" + new DecimalFormat("#.00").format(d03));
System.out.println("占位模板:\"##.00\"\t 小数:" + d03 + " \t 格式化后:" + new DecimalFormat("##.00").format(d03));
System.out.println("占位模板:\"##.000\"\t 小数:" + d03 + " \t 格式化后:" + new DecimalFormat("##.000").format(d03));
System.out.println("占位模板:\"0.##\"\t 小数:" + d03 + " \t 格式化后:" + new DecimalFormat("0.##").format(d03));
System.out.println("占位模板:\"00.##\"\t 小数:" + d03 + " \t 格式化后:" + new DecimalFormat("00.##").format(d03));
System.out.println("占位模板:\"00.###\"\t 小数:" + d03 + " \t 格式化后:" + new DecimalFormat("00.###").format(d03));
System.out.println("--------------------------------------------------------");
System.out.println("占位模板:\"0.00\"\t 小数:" + d04 + " \t 格式化后:" + new DecimalFormat("0.00").format(d04));
System.out.println("占位模板:\"00.00\"\t 小数:" + d04 + " \t 格式化后:" + new DecimalFormat("00.00").format(d04));
System.out.println("占位模板:\"00.000\"\t 小数:" + d04 + " \t 格式化后:" + new DecimalFormat("00.000").format(d04));
System.out.println("占位模板:\"#.##\" \t 小数:" + d04 + " \t 格式化后:" + new DecimalFormat("#.##").format(d04));
System.out.println("占位模板:\"##.##\" \t 小数:" + d04 + " \t 格式化后:" + new DecimalFormat("##.##").format(d04));
System.out.println("占位模板:\"##.###\" \t 小数:" + d04 + " \t 格式化后:" + new DecimalFormat("##.###").format(d04));
System.out.println("占位模板:\"#.00\"\t 小数:" + d04 + " \t 格式化后:" + new DecimalFormat("#.00").format(d04));
System.out.println("占位模板:\"##.00\"\t 小数:" + d04 + " \t 格式化后:" + new DecimalFormat("##.00").format(d04));
System.out.println("占位模板:\"##.000\"\t 小数:" + d04 + " \t 格式化后:" + new DecimalFormat("##.000").format(d04));
System.out.println("占位模板:\"0.##\"\t 小数:" + d04 + " \t 格式化后:" + new DecimalFormat("0.##").format(d04));
System.out.println("占位模板:\"00.##\"\t 小数:" + d04 + " \t 格式化后:" + new DecimalFormat("00.##").format(d04));
System.out.println("占位模板:\"00.###\"\t 小数:" + d04 + " \t 格式化后:" + new DecimalFormat("00.###").format(d04));
System.out.println("--------------------------------------------------------");
System.out.println("占位模板:\"0.00\"\t 小数:" + d05 + " \t 格式化后:" + new DecimalFormat("0.00").format(d05));
System.out.println("占位模板:\"00.00\"\t 小数:" + d05 + " \t 格式化后:" + new DecimalFormat("00.00").format(d05));
System.out.println("占位模板:\"00.000\"\t 小数:" + d05 + " \t 格式化后:" + new DecimalFormat("00.000").format(d05));
System.out.println("占位模板:\"#.##\" \t 小数:" + d05 + " \t 格式化后:" + new DecimalFormat("#.##").format(d05));
System.out.println("占位模板:\"##.##\" \t 小数:" + d05 + " \t 格式化后:" + new DecimalFormat("##.##").format(d05));
System.out.println("占位模板:\"##.###\" \t 小数:" + d05 + " \t 格式化后:" + new DecimalFormat("##.###").format(d05));
System.out.println("占位模板:\"#.00\"\t 小数:" + d05 + " \t 格式化后:" + new DecimalFormat("#.00").format(d05));
System.out.println("占位模板:\"##.00\"\t 小数:" + d05 + " \t 格式化后:" + new DecimalFormat("##.00").format(d05));
System.out.println("占位模板:\"##.000\"\t 小数:" + d05 + " \t 格式化后:" + new DecimalFormat("##.000").format(d05));
System.out.println("占位模板:\"0.##\"\t 小数:" + d05 + " \t 格式化后:" + new DecimalFormat("0.##").format(d05));
System.out.println("占位模板:\"00.##\"\t 小数:" + d05 + " \t 格式化后:" + new DecimalFormat("00.##").format(d05));
System.out.println("占位模板:\"00.###\"\t 小数:" + d05 + " \t 格式化后:" + new DecimalFormat("00.###").format(d05));
}
}
结果
推荐阅读