java String.format()的问题

Stringsay=String.format("%d,%s",inttype,Stringtype);我知道%d是为整型来提供一个占位空间的,%s是String型那do... String say=String.format("%d,%s",inttype,Stringtype);
我知道%d是为整型来提供一个占位空间的,%s是String型
那double,float,date,分别用什么字母来提供占位空间呢?
展开
 我来答
taotling
2009-06-15 · TA获得超过2000个赞
知道小有建树答主
回答量:412
采纳率:50%
帮助的人:373万
展开全部
看看API文档你就知道了:
代码=======================================================
float floatType=1000.00f;
double doubleTyep=11111111111111111.00d;
Date dateType = new Date();
String floatStr = String.format("%a, %e, %f, %g",floatType,floatType,floatType,floatType);
String doubleStr = String.format("%a, %e, %f, %g",doubleTyep,doubleTyep,doubleTyep,doubleTyep);
String dataStr = String.format("%1$tm-%1$te-%1$tY",dateType);
System.out.println(floatStr);
System.out.println(doubleStr);
System.out.println(dataStr);
===============================================================
输出结果:
0x1.f4p9, 1.000000e+03, 1000.000000, 1000.00
0x1.3bcbf936b38e4p53, 1.111111e+16, 11111111111111112.000000, 1.11111e+16
06-15-2009

其中float类型与double类型的数据,对于String.format()方法来说,
全表示为浮点数,
可使用的格式化参数如:
String.format("%a, %e, %f, %g",floatType,floatType,floatType,floatType);
其中
%a 表示用十六进制表示
%e 表示用科学记数法表示
%f 表示用普通的10进制方式表示
%g 表示根据实际的类型的值的大小,或采用%e的方式,或采用%f的方式

对于日期类型的:
如:
String dataStr = String.format("%1$tm-%1$te-%1$tY",dateType);
其中1$表示如果参数中有多个dateType那么取哪个dateType中的值,
t表示日期或时间格式,
m表示月,e表示日,Y表示年.
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
hlc001
2009-06-16 · TA获得超过104个赞
知道小有建树答主
回答量:148
采纳率:0%
帮助的人:123万
展开全部
String.format("{1}{2}{3}",变量,变量,变量)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式