String.format() 图文详解,写得非常好!
Java技术栈
共 1910字,需浏览 4分钟
· 2020-08-24
Java技术栈
www.javastack.cn
关注阅读更多优质文章
引言
String类的format()方法用于创建格式化的字符串以及连接多个字符串对象。熟悉C语言应该记得C语言的sprintf()方法,两者有类似之处。
format()方法有两种重载形式。
重载
// 使用当前本地区域对象(Locale.getDefault()),制定字符串格式和参数生成格式化的字符串
String String.format(String fmt, Object... args);
// 自定义本地区域对象,制定字符串格式和参数生成格式化的字符串
String String.format(Locale locale, String fmt, Object... args);
占位符
格式化说明最多会有5个部分(不包括%符号) . 下面的[]符号里面都是选择性的项目,因此只有%与type是必要的. 格式化说明的顺序是有规定的,必须要以这个顺序章指定.
实例:
超过一项以上的参数时
把新的参数加到后面,因此会有3个参数来调用format()而不是两个,并且在第一个参数中,也就是格式化串中,会有两个不同的格式化设定,也就是两个%开头的字符组合,第二个会应用在第一个%上面,第三个参数会用在第二%上,也就是参数会依照顺序应用在%上面" 。
int one = 123456789;
double two = 123456.789;
String s = String.format("第一个参数:%,d 第二个参数:%,.2f", one, two);
System.out.println(s);
转换符
转换符的标志
对字符串进行格式化
示例——将"hello"格式化为"hello "(左对齐)
String raw = "hello word";
String str = String.format("|%-15s|", raw);
System.out.println(str);
对整数进行格式化
示例——将-1000显示为(1,000)
int num = -1000;String str = String.format("%(,d", num);
System.out.println(str);
对浮点数进行格式化
double num = 123.456789;
System.out.print(String.format("浮点类型:%.2f %n", num));
System.out.print(String.format("十六进制浮点类型:%a %n", num));
System.out.print(String.format("通用浮点类型:%g ", num));
对日期时间进行格式化
日期的转换符
时间的转换符
实例
Date date = new Date();
System.out.printf("全部日期和时间信息:%tc%n",date);
System.out.printf("年-月-日格式:%tF%n",date);
System.out.printf("月/日/年格式:%tD%n",date);
System.out.printf("HH:MM:SS PM格式(12时制):%tr%n",date);
System.out.printf("HH:MM:SS格式(24时制):%tT%n",date);
System.out.printf("HH:MM格式(24时制):%tR",date);
点击「阅读原文」获取面试题大全~
评论
光纤详解:光纤跳线如何分类,多向单模转换?
本文来自“光纤详解:光纤跳线如何分类,多向单模转换?”,光纤跳线作为光网络布线最基础的元件之一,被广泛应用于光纤链路的搭建中。如今,光纤制造商根据应用场景的不同推出众多类型的光纤跳线,如MPO/LC/SC/FC/ST光纤跳线,单工/双工光纤跳线,单模/多模光纤跳线等,它们之间各有特色,且不可替代。本
架构师技术联盟
0
GPT的风也吹到了CV,详解自回归视觉模型的先驱! ImageGPT:使用图像序列训练图像 GPT模型
作者丨科技猛兽编辑丨极市平台导读 在 CIFAR-10 上,iGPT 使用 linear probing 实现了 96.3% 的精度,优于有监督的 Wide ResNet,并通过完全微调实现了 99.0% 的精度,匹配顶级监督预训练模型。本文目录1 自回归视觉模型的先驱 ImageGPT:
机器学习初学者
0
轻松学习C#:百度行驶证C++离线SDK接入详解
效果 先看最终效果SDK 拿到完整包如图,687M解压后看看内容发现有个readme.txt,那就先看看内容1:用vs2015打开sln工程,最好用vs2015 comunity版本,可微软官网下载。2:sdk的doc目录有pdf接口文档。3:工程总入口main.cpp、请参考示例实现您的功能。4:
DotNet NB
9
大模型“芝麻开门”的首选框架,LangChain全新教程!附600分钟详解视频
LangChain 作为一个开源的大语言模型应用框架,自诞生之日起就备受瞩目。然而,它的发展之路却走过了不少曲折。一开始,LangChain 遭受了不少质疑和非议。有人认为它只适合入门学习,代码质量和设计缺乏工业级的严谨性,难以应用于生产环境。的确,作为一个新兴项目,LangChain 的早期版本还
机器学习算法与Python实战
10
linux监控命令全覆盖(图文说明)
1.1 top1.1.1 命令说明Top 命令能够实时监控系统的运行状态,并且可以按照cpu、内存和执行时间进行排序 1.1.2 参数说明命令行启动参数:用法: top -hv | -bcisSHM -d delay -n iterations [-u user | -U user]...
马哥Linux运维
0
一文详解 JDK1.8 的 Lambda、Stream、LocalDateTime
今天跟小伙伴们聊聊 Java中JDK1.8的一些新语法特性使用,主要是Lambda、Stream和LocalDate日期的一些使用讲解。LambdaLambda介绍Lambda 表达式(lambda expression)是一个匿名函数,Lambda表达式基于数学中的λ演算得...
我是程序汪
0
详解数据资产入表六步法
土地财政趋向饱和,数据成财政新引擎在全球数字化转型的大趋势下,数据交易市场有望推动数据要素价值的开放共享和流通。据信通院测算,2021年全球47个重要经济体的数字经济增加值规模高达 38.1 万亿美元,我国2021年...
肉眼品世界
0
MSTP 详解
mstp可兼容STP,RSTP(自动变成对应的工作模式);mstp同一个区域的特点是: 域名名字一致,实例映射一致,修订级别一致。 用到的代码 STP MODE MSTP 全部设置MSTP(mstp为默认) stp region-configuration ...
joke7164
0