Android笔记:String.format()的详细用法

简介: Android笔记:String.format()的详细用法

一直对String.format不了解,而且也记不住那么多,记录一下以后查起来方便

1 占位符

1.1 单个占位符


String s = String.format("Hello %s,Welcome to my blog!", "jerry");

System.out.println(s);//Hello jerry,Welcome to my blog!12

1

2

1

2

1.2 多个占位符

1.2.1 按顺序


String s = String.format("Hello %s%s%s", "jerry-", "li", ",welcome!");1

1

1

1.2.2 按索引


String s = String.format("Hello %2$s%3$s%1$s", "li-", "heng-", "jie");1

1

1

2 对整数格式化


int n2 = 9999999;

System.out.printf("%+(,d %n", n2);

1

2

1

2

参数 含义

- 在最小宽度内左对齐,不可以与0标识一起使用

0 若内容长度不足最小宽度

+ 结果总包含一个+或-号。

空格 正数前加空格

, 只用与十进制

( 若结果为负数

3 对浮点数格式化


double n = 3.1415926;

String s = String.format("%f %n", num);

1

2

1

2

参数 含义

- 在最小宽度内左对齐

0 若内容长度不足最小宽度

+ 结果总包含一个+或-号。

空格 正数前加空格

, 只用与十进制

( 若结果为负数

4 对日期、时间格式化


对日期格式化的时候不能像对数字那样多种格式对应一个数字,

分为日期格式化及时间格式化两部分,如果希望格式化之后的格式是:

2017-01-13 12:05:30,需要先格式化日期,然后再格式化时间。

如下:


Date date = new Date();

String dateFormat = String.format("%tF %tT ", date, date);

System.out.println(dateFormat);

1

2

3

1

2

3

日期格式化:


参数 含义

c 星期六 十月 27 14:21:20 CST 2007

F 2007-10-27

D 10/27/07

r 02:25:51 下午

T 14:28:16

R 14:28

b 月份简称

B 月份全称

a 星期简称

A 星期全称

C 年前两位(不足两位补零)

y 年后两位(不足两位补零)

m 月份(不足两位补零)

d 日期(不足两位补零)

e 日期(不足两位不补零

时间格式化:


参数 含义

H 24小时制的小时(不足两位补零)

k 24小时制的小时(不足两位不补零)

I 12小时制的小时(不足两位补零)

i 12小时制的小时(不足两位不补零)

M 分钟(不足两位补零)

S 秒(不足两位补零)

L 毫秒(不足三位补零)

N 毫秒(不足9位补零)

p 小写字母的上午或下午标记,如中文为“下午”,英文为pm

z 相对于GMT的时区偏移量,如+0800

Z 时区缩写,如CST

s 自1970-1-1 00:00:00起经过的秒数

Q 自1970-1-1 00:00:00起经过的豪秒


目录
相关文章
|
11天前
|
Unix Linux
文本匹配.grep与Select-String用法对比
文本匹配.grep与Select-String用法对比
28 6
|
2天前
|
JavaScript 前端开发 Java
FFmpeg开发笔记(四十七)寒冬下安卓程序员的几个技术转型发展方向
IT寒冬使APP开发门槛提升,安卓程序员需转型。选项包括:深化Android开发,跟进Google新技术如Kotlin、Jetpack、Flutter及Compose;研究Android底层框架,掌握AOSP;转型Java后端开发,学习Spring Boot等框架;拓展大前端技能,掌握JavaScript、Node.js、Vue.js及特定框架如微信小程序、HarmonyOS;或转向C/C++底层开发,通过音视频项目如FFmpeg积累经验。每条路径都有相应的书籍和技术栈推荐,助你顺利过渡。
14 3
FFmpeg开发笔记(四十七)寒冬下安卓程序员的几个技术转型发展方向
|
7天前
|
Java Android开发
解决Android编译报错:Unable to make field private final java.lang.String java.io.File.path accessible
解决Android编译报错:Unable to make field private final java.lang.String java.io.File.path accessible
26 1
|
1月前
|
C++
C++ string中的函数和常用用法
C++ 中string中的函数和常用用法
22 4
|
1月前
|
Android开发 Kotlin
Android经典面试题之Kotlin中Lambda表达式有哪些用法
Kotlin的Lambda表达式是匿名函数的简洁形式,常用于集合操作和高阶函数。基本语法是`{参数 -> 表达式}`。例如,`{a, b -> a + b}`是一个加法lambda。它们可在`map`、`filter`等函数中使用,也可作为参数传递。单参数时可使用`it`关键字,如`list.map { it * 2 }`。类型推断简化了类型声明。
14 0
|
2月前
|
Java
Java中String的用法
Java中String的用法
24 1
|
2月前
|
Java API Android开发
技术经验分享:Android源码笔记——Camera系统架构
技术经验分享:Android源码笔记——Camera系统架构
32 0
|
3月前
|
安全 Linux Android开发
FFmpeg开发笔记(十六)Linux交叉编译Android的OpenSSL库
该文介绍了如何在Linux服务器上交叉编译Android的FFmpeg库以支持HTTPS视频播放。首先,从GitHub下载openssl源码,解压后通过编译脚本`build_openssl.sh`生成64位静态库。接着,更新环境变量加载openssl,并编辑FFmpeg配置脚本`config_ffmpeg_openssl.sh`启用openssl支持。然后,编译安装FFmpeg。最后,将编译好的库文件导入App工程的相应目录,修改视频链接为HTTPS,App即可播放HTTPS在线视频。
73 3
FFmpeg开发笔记(十六)Linux交叉编译Android的OpenSSL库
|
3月前
|
Java 测试技术 开发工具
Android 笔记:AndroidTrain , Lint , build(1),只需一篇文章吃透Android多线程技术
Android 笔记:AndroidTrain , Lint , build(1),只需一篇文章吃透Android多线程技术
|
3月前
|
设计模式 缓存 前端开发
真的强!借助阿里技术博主分享的Android面试笔记,我拿到了字节跳动的offer
真的强!借助阿里技术博主分享的Android面试笔记,我拿到了字节跳动的offer