%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"。
格式化正数时,强制添加上正号,例如:%+f将123.45格式化为"+123.45",%+E将123.45格式化为"+1.2345E+2"。
格式化浮点数时,将整数部分按“千”分组,例如:
String s = String.format("整数部分按千分组:%+,f",123456789.987);
那么,字符串s就是"整数部分按千分组:+123,456,789.987000"。
“%.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。
注意:如果实际数字的宽度大于格式中指定的宽度,就按数字的实际宽度进行格式化。
本文固定URL:https://www.dotcpp.com/course/855
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程