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 ...
随机推荐
- 黑马客户管理系统(SSM)
黑马客户管理系统 1系统概述 1.1系统功能介绍 本系统后台使用SSM框架编写,前台页面使用当前主流的Bootstrap和jQuery框架完成页面信息展示功能(关于Bootstrap的知识,有兴趣的读 ...
- 03WebDriver
概述 WebDriver一般用于测试 执行脚本 1.驱动包 WebDriver 不同的浏览器不同的驱动包 2.驱动包技术一个chrome.exe的程序,放到环境变量中,一般放在C:windows里 ...
- C语言常用函数
一.数学函数 调用数学函数时,要求在源文件中包下以下命令行: #include <math.h> 函数原型说明 功能 返回值 说明 int abs( int x) 求整数x的绝对值 计算结 ...
- POJ 3259:Wormholes bellman_ford判定负环
Wormholes Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 37906 Accepted: 13954 Descr ...
- 当3D打影人头”成为黑客的秘密武器,隐私该如何保护?
在<碟中谍>系列电影中,除了超级敬业又帅气的阿汤哥之外,最让人津津乐道的桥段就是用3D打印做出来的"人头".通过这些惟妙惟肖的"人头",阿汤哥完成了 ...
- simplecheck
环境:win10 工具:jadx .夜神模拟器.pycharm 下载好了之后加载到模拟器 输入正确的flag验证 加载到jadx.查看MainAtivity if语句进行验证是否正确,如果正确就输出y ...
- loadBeanDefinitions方法源码跟踪(一)
看这篇文章之前可以先了解之前的跟踪流程,https://www.jianshu.com/p/4934233f0ead 代码过宽,可以shift + 鼠标滚轮 左右滑动查看 AbstractBeanDe ...
- Day6 - A - HH的项链 HYSBZ - 1878
------------恢复内容开始------------ HH有一串由各种漂亮的贝壳组成的项链.HH相信不同的贝壳会带来好运,所以每次散步 完后,他都会随意取出一 段贝壳,思考它们所表达的含义.H ...
- mysql DDL语言
- springboot创建bean
springboot创建bean的方式有两种: 1.直接类上加注解@Component@Controller@Service ... 2.使用@Bean注解配合@Configuration注解 区别是 ...