review18
数字格式化
程序可以直接使用String类调用format方法对数字进行格式化。
format方法中的“格式化模式”是一个用双引号括起的字符序列(字符串),该字符序列的字符由格式符和普通字符所构成。代码展示如下所示:
public class Test05 {
public static void main(String[] args) {
// TODO Auto-generated method stub
String s1 = String.format("%.2f", 3.1415926);
System.out.println(s1);
String s2 = String.format("%d元%3.3f公斤%d台", 888, 999.7766, 123);
System.out.println(s2);
}
}
运行结果如下所示:

格式化的顺序
一般来说,format的格式化顺序是从左往右,但是可以在格式符前面添加索引符号:index$,例如1$表示值列表的第一个。
String s3 = String.format("不是从左往右: %2$.3f, %3$d, %1$d", 888, 3.141592, 100);
System.out.println(s3);
运行结果如下所示:

如果准备在“格式化模式”中包含普通的“%”,需要连续添加两个%,如
String s4 = String.format("%d%%", 89);
System.out.println(s4);
运行结果如下所示:

格式化整数
1. %d, %o, %x和%X
%d 将值格式化为十进制整数。
%o将值格式化为八进制整数。
%x将值格式化为小写的十六进制整数,例如abc58。代码展示如下所示:
public class Test06 {
public static void main(String[] args) {
// TODO Auto-generated method stub
String s = String.format("%d,%o,%x,%X",65500, 65500, 65500, 65500);
System.out.println(s);
}
}
运行结果如下所示:

修饰符
String s2 = String.format("按千分组:%,d. 按千分组带正号 %+,d", 12345, 123456);
System.out.println(s2);
运行结果如下所示:

数据的宽度
规定数据宽度的一般格式为"%md",其效果是在数字的左边添加空格:或“%-md”,其效果是在数字的右边添加空格。代码如下所示:
String s3 = String.format("%8d", 59);
System.out.println(s3);
String s4 = String.format("%-8d", 59);
System.out.println(s4);
System.out.println(s4.length());
运行结果如下所示:

字符串s3和s4的长度发生改变了,变成8.如果实际数字的宽度大于格式中指定的宽度,就按数字的实际宽度显示。
%f,%e(%E),%g(%G)和%a(%A)格式符可格式化float、Float、double和Double,详细说明如下:
%f将值格式化为十进制浮点数,小数保留6位。
%e将值格式化为科学计数法的十进制的浮点数
String s = String.format("%f, %e", 7283.89, 23929.98);
System.out.println(s);
运行结果如下所示:


“%.nf”可以限制小数的位数,其中n是保留的小数位数,例如%.3f将6.1256格式化为"6.126”,保留3位小数。
String s1 = String.format("%11f", 59.88);
System.out.println(s1);
String s2 = String.format("%-11f", 59.88);
System.out.println(s2);
运行结果如下所示:

review18的更多相关文章
随机推荐
- 对django模型中的objects的理解
object是模型属性,用于模型对象和数据库交互. object=Manager()是管理器类型的对象,是model和数据库进行查询的接口 可以自定义管理对象 books=models.Manager ...
- UI通过UISlider编写游戏第六感
#import "RootViewController.h" @interface RootViewController (){ UILabel *scoreLabel; } ...
- <2013 12 28> AOI PCB设计
主要设计指标: “3.多块拼板最大尺寸:60*50(CM)4. 检测速度:(230-250)片/小时 5.检测通过率:98%6.最窄线宽:设两种精度 A.最窄线宽:0.2mm, 识别精度 0.1mm ...
- Python菜鸟之路:DOM基础
前言 DOM 是 Document Object Model(文档对象模型)的缩写,定义了访问和操作 HTML 文档的标准方法.DOM把网页和脚本以及其他的编程语言联系了起来.DOM属于浏览器,而不是 ...
- jQuery改变CSS使DIV显示
HTML: <div id="mazey" style="display:none;">www.mazey.net</div> jQue ...
- 2015-02-07——js笔记
示例1: var abc; console.log(abc === undefined); console.log(abc === null); console.log(t ...
- 通过天天模拟器加burpsuite抓取手机app流量
通过天天模拟器,代理抓取安卓app数据包.也可以抓取https. 1.下载天天模拟器,官方下载即可,下载安装. 2.启动天天模拟器,设置代理,点击上方wlan设置图标,打开wlan设置,如下: 3.鼠 ...
- Redis作者谈Redis应用场景(转)
add by zhj : 这是Redis的作者antirez在他的技术博客中写的一篇文章 英文原文:take-advantage-of-redis-adding-it-to-your-stack 译文 ...
- 【CodeChef】Enormous Input Test
The purpose of this problem is to verify whether the method you are using to read input data is suff ...
- uboot相关的几篇好文
http://www.eeworld.com.cn/mcu/2015/0727/article_21246.html http://blog.csdn.net/kernel_yx/article/de ...