1.float、Float、double和Double

%f,%e(%E),%g(%G)和%a(%A)格式符可格式化float、Float、double和Double,其中:

%f将值格式化为十进制浮点数,小数保留6位。

%e(%E)将值格式化为科学记数法的十进制的浮点数,%E在格式化时将其中的指数符号大写。

例如:

String S = String.format("%f,%e",1234.56,1234.56);

那么,字符串s就是"1234.560000,1.23456e+03"。

2.修饰符

1)加号修饰符“+”

格式化正数时,强制添加上正号,例如:%+f将123.45格式化为"+123.45",%+E将123.45格式化为"+1.2345E+2"。

2)逗号修饰符“,”

格式化浮点数时,将整数部分按“千”分组,例如:

String s = String.format("整数部分按千分组:%+,f",123456789.987);

那么,字符串s就是"整数部分按千分组:+123,456,789.987000"。

3.限制小数位数与数据的“宽度”

“%.nf”可以限制小数的位数,其中的n是保留的小数位数,例如:%.3f将3.1415926格式化为"3.142"(保留3位小数)。

规定数据宽度的一般格式为"%md",其效果是在数字的左面增加空格;若为"%-md",其效果是在数字的右面增加空格。

例如,将数字12.34格式化为宽度为10的字符串:

String s = String.format("%10f",12.34);

那么,字符串s就是" 12.340000",其长度(s.length())为10,即s在12.340000左面添加了1个空格字符,对于:

String s = String.format("%-10f",12.34);

那么,字符串s就是"12.340000 ",其长度(s.length())为10,即s在12.340000右面添加了1个空格字符。

在指定宽度的同时也可以限制小数位数(%m.nf),对于:

String s = String.format("%10.2f",12.34);

那么,字符串s就是"     12.34",其长度(s.length())为10,即s在12.34左面添加了5个空格字符。

我们也可以在宽度的前面增加前缀0,表示用数字0,不用空格来填充宽度左面的富余部分,例如:

String s = String.format("%010f",12.34);

那么,字符串s就是"012.340000",其长度(s.length())为10,即s在12.340000的左面添加了1个数字0。

注意:如果实际数字的宽度大于格式中指定的宽度,就按数字的实际宽度进行格式化。


点赞(0)

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

Dotcpp在线编译      (登录可减少运行等待时间)