今天,我觉得自己其实也没有什么可以写的东西,不过还是为了保持写博客的习惯,所以在网上找了一些内容。其实也很简单。大家有兴趣可以自己去查找资料。

常规类型的格式化

String类的format()方法用于创建格式化的字符串以及连接多个字符串对象。熟悉C语言的同学应该记得C语言的sprintf()方法,两者有类似之处。format()方法有两种重载形式。

format(String format, Object... args) 新字符串使用本地语言环境,制定字符串格式和参数生成格式化的新字符串。

format(Locale locale, String format, Object... args) 使用指定的语言环境,制定字符串格式和参数生成格式化的字符串。

显示不同转换符实现不同数据类型到字符串的转换,如图所示。

转  换  符

说    明

示    例

%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代表不同的日期与时间转换符

 

搭配转换符的标志,如图所示。

标    志

说    明

示    例

结    果

+

为正数或者负数添加符号

("%+d",15)

+15

左对齐

("%-5d",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

$

被格式化的参数索引

("%1$d,%2$s", 99,"abc")

99,abc

这个上面讲了一大堆内容,其实是一些基本功,有兴趣的可以深入了解。在android的使用很简单,

1.在string.xml文件中定义一个字符串,然后在代码中通过String.format方法来格式化该字符串,比如:

<string name="today_state_string">您正与%1$d位朋友在一起游戏,本周排名提升了%2$.3f,获得%3$s的称号,等级为%4$c!</string>

private void showTodayState( int totalUser, float upRate, String hornor, char level ){

String todayStateStr = String.format( getResources( ).getString( R.string.today_state_string), totalUser, upRate, hornor, level );

mTodayStateTxt.setText( todayStateStr );

}

从上面这行字符串的定义可以看出,格式化字符串资源的格式为:

%+参数位置+$+格式化类型,其中:

参 数  位 置:从1开始依次编号,String.forma方法的第二个参数为格式化的第一个参数,后面依次递增;

格式化类型:

s 字符串

f 浮点数

d 整型数

c 字符类型

说了这么多,其实就是定义一个字符串,在字符串里放入可以变化的参数,按照%n$ms(d):代表输出的是字符串,n代表是第几个参数,设置m的值可以在输出之前放置空格,s代表字符串(d代表数字),然后通过String.format(getResources().getString(R.string.定义的字符串资源),参数的数值)。

String.format()的使用就讲完了,自己把网上的几篇博客的内容整理到一起,讲的比较乱,所以大家有兴趣可以自己去查找资料。

就这么简单。



String.format()的使用相关推荐

  1. Java / Android String.format 的使用

    String类的format()方法用于创建格式化的字符串以及连接多个字符串对象. 自己使用的地方1 拼接字符串 2 ,多语言文字顺序不同问题,例如中文:距离到公司还有30分钟, 时间是接口获取的, ...

  2. android String.format

    资源创建: <!-- 多参数验证 -->     <string name="text">截止到:%1$tc\n销售量比去年增长了%2$d%%\n在这里我对 ...

  3. String.Format格式说明

    C#格式化数值结果表 字符 说明 示例 输出 C 货币 string.Format("{0:C3}", 2) $2.000 D 十进制 string.Format("{0 ...

  4. String.Format()方法

    String.Format方法是我们在.Net应用开发时经常使用到的,它的灵活使用有时能够达到事半功倍的效果,下面我们就借用MSDN上的一个示例来向大家展示String.Format的各种用法. 该示 ...

  5. ASP.NET设置数据格式与String.Format使用总结

    {0:d} YY-MM-DD {0:p} 百分比00.00% {0:N2} 12.68 {0:N0} 13 {0:c2} $12.68 {0:d}  3/23/2003 {0:T}  12:00:00 ...

  6. String.format()【演示具体的例子来说明】

    String.format()[演示样例具体解释] 整理者:Vashon 前言: String.format 作为文本处理工具.为我们提供强大而丰富的字符串格式化功能,为了不止步于简单调用 Strin ...

  7. C#:String.Format数字格式化输出

    C#:String.Format数字格式化输出 int a = 12345678;    //格式为sring输出 //   Label1.Text = string.Format("asd ...

  8. Java String.format() : 字符串格式化

    2019独角兽企业重金招聘Python工程师标准>>> 1.常规类型的格式化 String类的format()方法用于创建格式化的字符串以及连接多个字符串对象. 1.format(S ...

  9. string Format转义大括号

    String.Format("{0} world!","hello") //将输出 hello world!,没有问题,但是只要在第一个参数的任意位置加上一个大 ...

  10. String.Format in javascript

    有些时候,我们确实需要在JavaScript中进行字符串替换,类似于C#中的String.Format()方法一样,只不过这种格式化替换只局限于对由'{0}','{1}','{2}'...所组成的&q ...

最新文章

  1. 【廖雪峰python入门笔记】set
  2. C语言宏定义中使用 do{}while(0) 的情形
  3. 字符串的原样输入输出python_Python字符串输入输出简述
  4. zhlan--Python中常见的几种格式化输出
  5. SHELL编程中如果路径名遇到括号
  6. 计算机启用时间 查找方式,电脑实用知识技巧 篇六:不需要第三方软件,这种方法查看系统启动时间...
  7. mitmproxy抓包 | Python双篡改假请求实战(六)
  8. linux mysql ssh通道_通过SSH通道来访问MySQL
  9. spring cloud入门组件教程
  10. ElasticSearch安装
  11. 基于halcon的颜色识别---杜邦线识别
  12. eleme项目框架搭建及eslint常见报错(含图标字体库说明)
  13. 注意int类型数据相加的溢出
  14. Heka GeoIpDecoder 配置
  15. 论劳动生产力进步的原因,兼论劳动产品在不同阶级人民之间自然分配顺序(读后感)
  16. Bumped! 2017 ICPC North American Qualifier Contest (分层建图+dijstra)
  17. 子线程与主线程之间的通信
  18. java集成kettle 9.2.0开发
  19. 接口调用成功,功能实现但是返回404报错
  20. 【JavaSE】----- Java语言的介绍

热门文章

  1. 软测homework2
  2. slice 和 splice 区别
  3. hibernate之工具类
  4. TextView 显示内容时出现 ArrayIndexOutOfBoundsException 的解决方法(Android 4.1)
  5. IOS 2D游戏开发框架 SpriteKit--续(创建敌对精灵)
  6. 深入V8引擎-AST(2)
  7. 【linux 06】 linux中的用户权限、文件权限与目录权限
  8. LeetCode # Array # Easy # 217. Contains Duplicate
  9. 安装python解释器
  10. 使用CXF 2.7.5出现的java.lang.RuntimeException: Cannot create a secure XMLInputFactory错误解决...