java 字符串format_Java中String.format()函数使用字符串格式化详解

本文详细介绍了Java中字符串格式化的技巧,包括`String.format()`方法的使用,不同转换符对数据类型的转换,以及日期和时间的字符串格式化实例。通过实例演示,展示了如何创建和格式化定制输出。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

字符串被广泛应用于Java编程之中,在Java中字符串是属于对象的,Java提供了String类的创建和操作字符串函数。输出格式化数字可以使用printf()和format()方法。String类使用静态方法format()返回一个String对象而不是PrintStream对象。String类的静态方法format()能用来创建可复用的格式化字符串,而不仅仅是用于一次打印输出,本站素文宅 www.yoodb.com 下面就为大家说说格式化字符串。

使用指定格式字符串格式化字符串参数,具体Java源码如下:public static String format(String format, Object ... args) {

return new Formatter().format(format, args).toString();

}

使用指定的语言环境(本地语言环境),格式字符串返回一个格式化字符串和参数,具体Java源码如下:public static String format(Locale l, String format, Object ... args) {

return new Formatter(l).format(format, args).toString();

}

1)不同转换符实现不同数据类型到字符串的转换,具体如下所示:

转换符说明示例

%s字符串类型"mingrisoft"

%c字符类型'm'

%b布尔类型true

%d整数类型(十进制)99

%x整数类型(十六进制)FF

%o整数类型(八进制)77

%f浮点类型99.99

%a十六进制浮点类型FF.35AE

%e指数类型9.38e+5

%g通用浮点类型(f和e类型中较短的)

%h散列码

%%百分比类型%

%n换行符

%tx日期与时间类型(x代表不同的日期与时间转换符

2)日期事件字符串格式化,具体如下所示:

转换符     说明           示例

c包括全部日期和时间信息星期六 十月 8 13:21:20 CST 2016

F“年-月-日”格式2016-10-08

D“月/日/年”格式10/08/16

r“HH:MM:SS PM”格式(12时制)13:21:20 下午

T“HH:MM:SS”格式(24时制)13:21:24

R“HH:MM”格式(24时制)13:21

3)时间的字符串格式化,具体如下所示:

转换符     说明           示例

H2位数字24时制的小时(不足2位前面补0)15

I2位数字12时制的小时(不足2位前面补0)03

k2位数字24时制的小时(前面不补0)15

l2位数字12时制的小时(前面不补0)3

M2位数字的分钟(不足2位前面补0)       03

S2位数字的秒(不足2位前面补0)       09

L3位数字的毫秒(不足3位前面补0)       015

N9位数字的毫秒数(不足9位前面补0)   562000000

p小写字母的上午或下午标记      中:下午英:pm

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

Z时区缩写字符串                       CST

s1970-1-1 00:00:00 到现在所经过的秒数1193468128

Q1970-1-1 00:00:00 到现在所经过的毫秒数1193468128984

下面举一些常用的案例,具体代码如下:package com.test;

import java.util.Date;

import java.util.Locale;

/**

* 素文宅  www.yoodb.com

*/

public class Test {

public static void main(String args[]) {

String str = null;

str = String.format("Hi %s", "张三");

System.out.println(str);

str = String.format(Locale.ENGLISH,"Hi %s", "Zhang San");

System.out.println(str);

Date date = new Date();

System.out.printf("年-月-日格式:%tF%n",date); //printf()函数可以指定类型

str = String.format("%tH", date);

str += String.format(":%tM", date);

str += String.format(":%tS", date);

System.out.println("24时制的时分秒(不足2位前面补0):" + str);

}

}

输出结果,如下所示:Hi 张三

Hi Zhang San

年-月-日格式:2016-10-08

24时制的时分秒(不足2位前面补0):14:27:08

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值