数字格式化

程序可以直接使用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的更多相关文章

随机推荐

  1. nginx1.4.7+uwsgi+django1.9.2项目部署,liunx系统为ubuntu14.0.4。

    本文基于root用户下进行部署,django项目名称为BDFS 1.  安装依赖包,终端输入命令 1)         环境依赖包 apt-get update apt-get install pyt ...

  2. springboot集成liquibase,h2数据库

    Liquibase是一个用于跟踪.管理和应用数据库变化的开源的数据库重构工具.它将所有数据库的变化(包括结构和数据)都保存在XML文件中,便于版本控制. Liquibase具备如下特性:* 不依赖于特 ...

  3. RabbitMQ_消息队列基本使用_2

    简介 RabbitMQ:接受消息再传递消息,可以视为一个“邮局”. 发送者和接受者通过队列来进行交互,队列的大小可以视为无限的,多个发送者可以发生给一个队列,多个接收者也可以从一个队列中接受消息. p ...

  4. 前端基础 & 初识CSS

    CSS介绍 CSS(Cascading Style Sheet,层叠样式表)定义如何显示HTML元素.l 当浏览器读到一个样式表,它就会按照这个样式表来对文档进行格式化(渲染). CSS语法 每个CS ...

  5. 解决后台无法进入提示DedeCMS Error: (PHP 5.3 and above) Please set 'request_order' ini value

    最近小美眉的网站被盯上了,被添加了非常多的dubo页面,删除了5w多个文件,但还是不停的增加,因为网站权重还可以,很多都被收录了,结果可想而知,ytkah帮她迁移,在迁移网站时遇到了一些问题,后台登录 ...

  6. ABAP 创建测试文件

    使用 CG3Y 下载,可以改成下载txt到本地. FORM CREATE_TESTFILE. ), L_OFF LIKE SY-TABIX, L_LEN LIKE SY-TABIX, L_SUM LI ...

  7. Docker基础入门实践

    原文地址 基本概念 Docker三个基本概念 镜像(Image) 容器(Container) 仓库(Repository) 镜像 镜像可以理解为只读模板,如包含一个centos操作系统环境 容器 Do ...

  8. Linux:文件

    Linux:文件 文件属性 用户分为三种:文件拥有者.群组以及其它人,对不同的用户有不同的文件权限. 使用 ls 查看一个文件时,会显示一个文件的信息,例如 drwxr-xr-x. 3 root ro ...

  9. hadoop本地运行与集群运行

    开发环境: windows10+伪分布式(虚拟机组成的集群)+IDEA(不需要装插件) 介绍: 本地开发,本地debug,不需要启动集群,不需要在集群启动hdfs yarn 需要准备什么: 1/配置w ...

  10. Oracle表与约束关系

    手动回收表的存储方式: SQL> alter table aux_emp deallocate unused; //回收所有未使用的存储空间 表已更改. 回收aux_emp的存储空间,保留50K ...