1、DecimalFormat格式化数字
1 import java.text.DecimalFormat;
2 import java.util.Scanner;
3
4 /**
5 *
6 * 功能描述: 练习Lianxi06四舍五入
7 *
8 *
9 * @ Author: apple.
10 * @ Date: 2019/11/22 7:56 PM
11 */
12 public class LianXi07 {
13
14 private static Scanner sc = new Scanner(System.in);
15 /*DecimalFormat格式化数字*/
16 public static void main(String[] args) {
17 System.out.println("输入一个数:");
18 double num = sc.nextDouble();
19 // 创建DecimalFormat对象
20 DecimalFormat df = new DecimalFormat("#.00");
21 String sum = df.format(num);// 调用df.format(num1)方法,传入参数 sum 接收值
22 System.out.println("四舍五入保留两位小数后:num="+sum);
23 }
24 }
运行结果:

DecimalFormat("#.00")方法中,"#.00"为设置数字格式,# 表示只要有可能就把数字拉上这个位置。小数点后有两位数字,有几个0表示小数点后保留几位小数,不足用0补齐,如上程序,输入num1为2.5,设置保留两位小数,不够0补齐,所以输出num=2.50。
2、字符串格式化-String.format()的使用
String类的format()方法用于创建格式化的字符串以及连接多个字符串对象
1 private static Scanner sc = new Scanner(System.in);
2 public static void main(String[] args) {
3 System.out.println("请输入一个小数:");
4 //hasNextDouble()判断是否输入的数是数字。
5 while (!sc.hasNextDouble()){
6 System.out.println("输入有误请重输:");
7 sc.next();
8 }
9 double num = sc.nextDouble();
10 // 调用df.format(num1)方法,传入参数
11 System.out.println(String.format("四舍五入保留两位小数后:num="+"%.2f",num));
运行结果:



format()方法中的两个参数,format("%.2f", num2),例子中的第一个参数为数字格式,百分号表示小数点前的整数部分,“.”表示小数点,数字2表示保留小数位的个数,不足用0补齐,如上程序。“f”表示浮点类型,第二个参数为传入需要更改格式的参数。