8.7 数字格式化(Formatter类)

所谓数字格式化,就是按指定格式得到一个字符串

例子1:3.1415926最多保留2位小数点,格式化后应该为3.14

例子2:12345678按“千”分组,格式化后应该为12,345,678

例子3:3.1423212小数保留3位数,整数至少显示3位数,格式化后应该为003.142


8.7.1 Formatter类

1.格式化模式(查阅Java API中的Java.util.Formatter类,了解更多格式符)

format 方法中的“格式化模式”是一个用双引号括起来的字符序列(字符串),该字符序列中的字符由格式和普通字符所构成。

String string=String.format("%.2f", 3.1432);
//s=3.14

2.值列表

format 方法中的“值列表”是用逗号分隔的变量、常量或者表达式。要保证format方法中“格式化模式”中的格式符的个数与“值列表”中的个数相同

String string1=String.format("%d元%.3f公斤%d台",888,999.8852222228,234);
System.out.println(string1);

//string1=888元999.885公斤234台

3.格式化顺序

format 方法默认按从左到右的顺序使用“格式化模式”中的格式符来格式化“值列表”中对应的值,而“格式化模式”中的普通字符保留原样

String string2=String.format("从左到右:%d,%.3f,%d",100,200.00,300);
System.out.println(string2);

//string2=从左到右:100,200.000,300

如果不希望使用默认的顺序(从左到右)进行格式化,可以在格式符前面添加索引号:index$,(1$表示第一个,2$表示第二个···)

String string2=String.format("从左到右:%3$d,%1$d,%2$d",100,200,300);
System.out.println(string2);
//string2=从左到右:300,100,200

格式化包含普通的“%”,需连续写两个%:

String string2=String.format("从左到右:%3$d%%,%1$d,%2$d",100,200,300);
//string2=从左到右:300%,100,200




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值