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的更多相关文章
随机推荐
- 巨蟒python全栈开发linux之centos1
1.linux服务器介绍 2.linux介绍 3.linux命令学习 linux默认有一个超级用户root,就是linux的皇帝 注意:我的用户名是s18,密码是centos 我们输入密码,点击解锁( ...
- C#处理MySql多个返回集
关于Mysql返回多个集java和Php的较多,但是C#的完整代码好像没见过,研究了一下做个封装以后用 做一个Mysql的简单分页查询,有两个返回集 Sql语句如下 SELECT COUNT(*) f ...
- Server Objects Extension(SOE)开发(二)
前言 SOE的提供了REST和Soap两种模板,只要在模板特定的方法中添加自己的业务逻辑代码即可,开发流程非常的简单便捷.那怎么知道自己的业务逻辑代码该写在模板的那个方法里面呢?这就需要很好的理解SO ...
- AngularCli项目中添加字体图标(Font)详解
本文主要讲如何在AngularCli生成的项目中使用字体图标. 一 SVG图标准备 将需要转换为字体图标的图片转换为SVG格式. 这个让项目视觉设计师搞定即可. 二 SVG图标转Font 可以通过Ic ...
- 如何将大数据保存到 MySql 数据库
1. 什么是大数据 1. 所谓大数据, 就是大的字节数据,或大的字符数据. 2. 标准 SQL 中提供了如下类型来保存大数据类型: 字节数据类型: tinyblob(256B), blob(64K), ...
- 洛谷 P4109 [HEOI2015]定价
洛谷 这是今天的考试题,我来发一波- 看L和R的范围,显然不能一个一个加,这样会有很多重复情况,会超时,只要看该数有多少个后导0,就把L加上10的多少次方. 很容易可以想到价格后面尽可能多0, 在此基 ...
- django注册在使用hashlib对密码加密时报Unicode-objects must be encoded before hashing
在使用sh1等hashlib方法进行加密时报:Unicode-objects must be encoded before hashing 解决办法:对要加密的字符串指定编码格式 解决之前: s1=s ...
- Django的models方法返回值异常,待解决
class BookInfo(models.Model): #创建书本信息类,继承models.Model booktitle=models.CharField(max_length=20) book ...
- 如何在Pycharm设置ES6语法环境
首先 如果不进行相关设置就刚ES6 语法的话,会出现下面提示性错误(运行还是能正常出效果的): (let 飘红, 这只是其中之一, 其他语法也会飘红) 接着,就是解决问题: 首先打开设置: 接着找到下 ...
- Spring Cloud架构
Spring Cloud主要的组件,以及它的访间流程 1.外部或者内部的非 Spring Cloud目都统一通过API网关(Zuul)来访可内部服务. 2.网关接收到请求后,从注册中心( Eure ...