一、格式化字符串
Java中提供了String类的format方法,可以通过指定格式将字符串中的各种数据类型格式化成特定的形式。
// 格式化整数
String intStr = String.format("%d", 123); // intStr = "123"
// 对齐和填充
String str = String.format("%5d", 123); // str = " 123"
str = String.format("%-5d", 123); // str = "123 "
str = String.format("%05d", 123); // str = "00123"
str = String.format("%+d", 123); // str = "+123"
// 格式化浮点数
String doubleStr = String.format("%.2f", 123.456); // doubleStr = "123.46"
在使用format方法时,需要指定转换字符,如%d表示格式化整数,%f表示格式化浮点数,%.2f表示保留两位小数的浮点数等等。在使用过程中,还可以对齐、填充、格式化正负数等。
二、格式化日期时间
Java中提供了SimpleDateFormat类,可以将日期类型格式化成字符串。
// 按指定格式格式化日期
SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");
String dateStr = sdf.format(new Date()); // dateStr的格式如:2020年01月01日 12:00:00
// 按指定时区格式化日期
sdf.setTimeZone(TimeZone.getTimeZone("GMT+8:00")); // 设置时区为东八区
dateStr = sdf.format(new Date()); // dateStr的值会相应地改变
在使用SimpleDateFormat时,需要指定日期字符串的格式,如yyyy表示年份,MM表示月份,dd表示日期等等。还可以通过setTimeZone方法指定时区。
三、格式化数字
Java中提供了NumberFormat类,可以将数字类型格式化成字符串。
// 格式化数字
NumberFormat nf = NumberFormat.getInstance();
String numStr = nf.format(123456789); // numStr的格式如:123,456,789
// 指定小数位数,以及货币符号
DecimalFormatSymbols dfs = new DecimalFormatSymbols();
dfs.setCurrencySymbol("¥"); // 设置货币符号为¥
DecimalFormat df = new DecimalFormat("###,###.##", dfs);
df.setMinimumFractionDigits(2); // 设置最小小数位为2
df.setMaximumFractionDigits(5); // 设置最大小数位为5
String currencyStr = df.format(1234.56789); // currencyStr的格式如:¥1,234.57
在使用NumberFormat类时,可以指定数字字符串的格式,如###,###.##表示以千为分隔符,最多有5位小数等等。还可以通过setMinimumFractionDigits、setMaximumFractionDigits等方法指定小数位数。
四、结语
Java中提供了多种格式化方式,可以将各种数据类型格式化成符合特定规则的字符串。开发者可以根据需要选用对应的方式,以达到更好的输出效果。
原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/156975.html
微信扫一扫
支付宝扫一扫