StringUtils.format用法
String.format()字符串常规类型格式化的两种重载方式
- format(String format, Object… args) 新字符串使用本地语言环境,制定字符串格式和参数生成格式化的新字符串。
- format(Locale locale, String format, Object… args) 使用指定的语言环境,制定字符串格式和参数生成格式化的字符串。
上个栗子有用到了字符类型和整数类型的格式化 下面我把常用的类型例举出来
转换符 | 详细说明 | 示例 |
---|---|---|
%s | 字符串类型 | “喜欢请收藏” |
%c | 字符类型 | ‘m’ |
%b | 布尔类型 | true |
%d | 整数类型(十进制) | 88 |
%x | 整数类型(十六进制) | FF |
%o | 整数类型(八进制) | 77 |
%f | 浮点类型 | 8.888 |
%a | 十六进制浮点类型 | FF.35AE |
%e | 指数类型 | 9.38e+5 |
%g | 通用浮点类型(f和e类型中较短的) | 不举例(基本用不到) |
%h | 散列码 | 不举例(基本用不到) |
%% | 百分比类型 | %(%特殊字符%%才能显示%) |
%n | 换行符 | 不举例(基本用不到) |
%tx | 日期与时间类型(x代表不同的日期与时间转换符) | 不举例(基本用不到) |
为了方便理解还是举个例子
- String str=null;
- str=String.format("Hi,%s", "小超");
- System.out.println(str);
- str=String.format("Hi,%s %s %s", "小超","是个","大帅哥");
- System.out.println(str);
- System.out.printf("字母c的大写是:%c %n", 'C');
- System.out.printf("布尔结果是:%b %n", "小超".equal("帅哥"));
- System.out.printf("100的一半是:%d %n", 100/2);
- System.out.printf("100的16进制数是:%x %n", 100);
- System.out.printf("100的8进制数是:%o %n", 100);
- System.out.printf("50元的书打8.5折扣是:%f 元%n", 50*0.85);
- System.out.printf("上面价格的16进制数是:%a %n", 50*0.85);
- System.out.printf("上面价格的指数表示:%e %n", 50*0.85);
- System.out.printf("上面价格的指数和浮点数结果的长度较短的是:%g %n", 50*0.85);
- System.out.printf("上面的折扣是%d%% %n", 85);
- System.out.printf("字母A的散列码是:%h %n", 'A');
输出结果
- Hi,小超
- Hi,小超 是个 大帅哥
- 字母c的大写是:C
- 布尔的结果是:false
- 100的一半是:50
- 100的16进制数是:64
- 100的8进制数是:144
- 50元的书打8.5折扣是:42.500000 元
- 上面价格的16进制数是:0x1.54p5
- 上面价格的指数表示:4.250000e+01
- 上面价格的指数和浮点数结果的长度较短的是:42.5000
- 上面的折扣是85%
- 字母A的散列码是:41
###搭配转换符还有实现高级功能 第一个例子中有用到 $
标志 | 说明 | 示例 | 结果 |
---|---|---|---|
+ | 为正数或者负数添加符号 | (“%+d”,15) | +15 |
0 | 数字前面补0(加密常用) | (“%04d”, 99) | 0099 |
空格 | 在整数之前添加指定数量的空格 | (“% 4d”, 99) | 99 |
, | 以“,”对数字分组(常用显示金额) | (“%,f”, 9999.99) | 9,999.990000 |
( | 使用括号包含负数 | (“%(f”, -99.99) | (99.990000) |
# | 如果是浮点数则包含小数点,如果是16进制或8进制则添加0x或0 | (“%#x”, 99)(“%#o”, 99) | 0x63 0143 |
< | 格式化前一个转换符所描述的参数 | (“%f和%<3.2f”, 99.45) | 99.450000和99.45 |
d,%2$s”, 99,”abc”) | 99,abc |
第一个例子中有说到 %tx x代表日期转换符 我也顺便列举下日期转换符
标志 | 说明 | 示例 |
---|---|---|
c | 包括全部日期和时间信息 | 星期六 十月 27 14:21:20 CST 2007 |
F | “年-月-日”格式 | 2007-10-27 |
D | “月/日/年”格式 | 10/27/07 |
r | “HH:MM:SS PM”格式(12时制) | 02:25:51 下午 |
T | “HH:MM:SS”格式(24时制) | 14:28:16 |
R | “HH:MM”格式(24时制) | 14:28 |
来个例子方便理解
- Date date=new Date();
- //c的使用
- System.out.printf("全部日期和时间信息:%tc%n",date);
- //f的使用
- System.out.printf("年-月-日格式:%tF%n",date);
- //d的使用
- System.out.printf("月/日/年格式:%tD%n",date);
- //r的使用
- System.out.printf("HH:MM:SS PM格式(12时制):%tr%n",date);
- //t的使用
- System.out.printf("HH:MM:SS格式(24时制):%tT%n",date);
- //R的使用
- System.out.printf("HH:MM格式(24时制):%tR",date);
输出结果
- 全部日期和时间信息:星期三 九月 21 22:43:36 CST 2016
- 年-月-日格式:2016-09-21
- 月/日/年格式:16/10/21
- HH:MM:SS PM格式(12时制):10:43:36 下午
- HH:MM:SS格式(24时制):22:43:36
- HH:MM格式(24时制):22:43
StringUtils.format用法的更多相关文章
- C#中string.format用法详解
C#中string.format用法详解 本文实例总结了C#中string.format用法.分享给大家供大家参考.具体分析如下: String.Format 方法的几种定义: String.Form ...
- String.format()用法
package junit.test; import java.util.Date; import java.util.Locale; import org.junit.Test; pub ...
- StringUtils.isEmpty和StringUtils.isBlank用法
StringUtils 方法的操作对象是 java.lang.String 类型的对象,是 JDK 提供的 String 类型操作方法的补充,并且是 null 安全的(即如果输入参数 String 为 ...
- C#中string.Format 用法详解
这篇文章主要介绍了C#中string.format用法,以实例形式较为详细的讲述了string.format格式化的各种用法,非常具有实用价值,需要的朋友可以参考下 本文实例总结了C#中string. ...
- python基础_格式化输出(%用法和format用法)
目录 %用法 format用法 %用法 1.整数的输出 %o —— oct 八进制%d —— dec 十进制%x —— hex 十六进制 1 >>> print('%o' % 2 ...
- (4)格式化输出(%用法和format用法以及区别)
%s用法(%s的用法是写多少个,后面就要传多少个) format用法(基本语法是通过{}和:来代替%.format函数可以接受不限个参数,位置可以不按顺序) 形式一(顺序填坑{}) >>& ...
- Python2.6与Python2.7的format用法区别
Python2.6不支持format(123456L, ",")或format(123, ",")的format用法,会报下面的错误 ValueError: U ...
- python format 用法详解
format 用法详解 不需要理会数据类型的问题,在%方法中%s只能替代字符串类型 单个参数可以多次输出,参数顺序可以不相同 填充方式十分灵活,对齐方式十分强大 官方推荐用的方式,%方式将会在后面的版 ...
- python基础_格式化输出(%用法和format用法)(转载)
python基础_格式化输出(%用法和format用法) 目录 %用法 format用法 %用法 1.整数的输出 %o -- oct 八进制%d -- dec 十进制%x -- hex 十六进制 &g ...
随机推荐
- bootstrap上下左右条纹边框悬停表格的使用
懒得找地址:https://jingyan.baidu.com/album/0bc808fc3d88941bd585b94c.html?picindex=1
- 题解 P3258 【[JLOI2014]松鼠的新家】
树链剖分板子题 先说点别的 小熊维尼啊,嘿嘿嘿. 写题经历 悲惨命运:树剖调了2天,一直90分,死活不AC,调出了心病,快下课时改了一下数据范围,A了--.(刚开始数组开了800100,改120010 ...
- Cadence套件:Capture + Allegro应用笔记
1.在Allegro中导入Netlist时,需要进行封装路径的设定: 在Setup->User Preference的Path->Library下面,设定所需封装文件(psm).焊盘文件( ...
- 吴裕雄 Bootstrap 前端框架开发——Bootstrap 辅助类:内容居中
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...
- jenkins -- 邮件的配置
参考博文:https://blog.csdn.net/lykio_881210/article/details/81135769 https://www.jianshu.com/p/29a29ce6e ...
- 第十届蓝桥杯 RSA解密(C++/ java)
一道不错的题目,借鉴了网上的代码,用了拓展欧几里得算法求逆元,再用快速乘求每次a的余数,再快速幂对余数进行幂运算. #include <bits/stdc++.h> using names ...
- 云时代架构阅读笔记十一——数据库SQL优化
网上关于SQL优化的教程很多,但是比较杂乱.近日有空整理了一下,写出来跟大家分享一下,其中有错误和不足的地方,还请大家纠正补充. 1.对查询进行优化,要尽量避免全表扫描,首先应考虑在 where 及 ...
- 015.CI4框架CodeIgniter数据库操作之:Query带参数查询数
01.我们在Models中写数据库的操作.具体的查询代码如下: <?php namespace App\Models\System; use CodeIgniter\Model; class U ...
- 【转】转帖并注释:Java中的事件处理机制--事件监听器的四种实现方式
原文地址:http://blog.sina.com.cn/s/blog_4b650d650100nqws.html Java中四种事件监听器的实现方式分别为: 自身类做为事件监听器 外部类作为事件监听 ...
- CANmonitor我自己编写的程序
这个版本的程序, 上位机可以对电机的转速进行在线的设定,同时上位机接受电机控制器上报的母线电压,电机温度,控制器温度等. 在调试的过程中我遇见了一个问题,电机的转速的采样 . 根据协议:电机的转速为1 ...