java & Android 格式化字符串详解

%1$s %1$d Android string (java & Android 格式化字符串)

1$s // String
%1$d // int

//R.string.old:
<string name="old">我今年%1$d岁了</string>

String sAgeFormat = getResources().getString(R.string.old);
String sFinalAge = String.format(sAgeFormat, 23);

1、整型,比如“我今年23岁了”,这个23是整型的。在string.xml中可以这样写,<string name="old">我今年%1$d岁了</string>

在程序中,使用

String sAgeFormat = getResources().getString(R.string.old); 
String sFinalAge = String.format(sAgeFormat, 23);

将%1$d替换为23;

%1$d表达的意思是整个name=”old”中,第一个整型的替代。如果一个name中有两个需要替换的整型内容,则第二个写为:%2$d,以此类推;具体程序中替换见下面的string型;

2、string型,比如“我的名字叫李四,我来自首都北京”;这里的“李四”和“首都北京”都需要替换。

在string.xml中可以这样写,<string name="alert">我的名字叫%1$s,我来自%2$s</string>

在程序中:

String sAgeFormatString sAgeFormat1= getResources().getString(R.string.alert);    
 String sFinal1 = String.format(sAgeFormat1, "李四","首都北京");

这里两个string需要替换的,按照上面程序的顺序依次对应。

<xliff:g>标签介绍:

属性id可以随便命名
属性值举例说明
%n$ms:代表输出的是字符串,n代表是第几个参数,设置m的值可以在输出之前放置空格
%n$md:代表输出的是整数,n代表是第几个参数,设置m的值可以在输出之前放置空格,也可以设为0m,在输出之前放置m个0
%n$mf:代表输出的是浮点数,n代表是第几个参数,设置m的值可以控制小数位数,如m=2.2时,输出格式为00.00

也可简单写成:

%d   (表示整数)

%f    (表示浮点数)

%s   (表示字符串)

使用步骤举例:

1.

<?xml version="1.0" encoding="utf-8"?>

<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">

2.

<string name="test_xliff">小红今年<xliff:g id="xxx">%d</xliff:g>岁了,上<xliff:g id="yyy">%s</xliff:g>年级!</string>

3.

String test = String.format(getResources().getString(R.string.test_xliff), 7, "小学二");

输出:

小红今年7岁了,上小学二年级!

以上就是Java 和Android 输出字符串的资料整理,后续继续补充相关资料,谢谢大家对本站的支持!

(0)

相关推荐

  • Android 仿微信聊天时间格式化显示功能

    本文给大家分享android仿微信聊天时间格式化显示功能. 在同一年的显示规则: 如果是当天显示格式为 HH:mm 例:14:45 如果是昨天,显示格式为 昨天 HH:mm 例:昨天 13:12 如果是在同一周 显示格式为 周一 HH:mm 例:周一14:05 如果不是同一周则显示格式为 M月d日 早上或者其它 HH:mm 例: 2月5日 早上10:10 不在同一年的显示规则: 显示格式为 yyyy年M月d日 晚上或者其它 HH:mm 例:2016年2月5日 晚上18:05 代码中如果有误,请留

  • Android实现的数字格式化用法示例

    本文实例讲述了Android实现的数字格式化用法.分享给大家供大家参考,具体如下: package formatnumber; import java.text.DecimalFormat; public class FormatNumber { public static void main(String[] args) { DecimalFormat df = new DecimalFormat(); double data = 1234.56789; System.out.println(

  • Android SpannableString设置超链接、颜色、字体等属性

    Android SpannableString设置超链接.颜色.字体等属性 在Android中,TextView是我们最常用的用来显示文本的控件. 一般情况下,TextView中的文本都是一个样式.那么如何对于TextView中各个部分的文本来设置字体,大小,颜色,样式,以及超级链接等属性呢?下面我们通过SpannableString的具体实例操作来演示一下. package com.snowdream; import java.io.IOException; import org.xmlpul

  • Android TextView中文字通过SpannableString设置属性用法示例

    本文实例讲述了Android TextView中文字通过SpannableString设置属性的方法.分享给大家供大家参考,具体如下: 在Android中,TextView是我们最常用的用来显示文本的控件. 一般情况下,TextView中的文本都是一个样式.那么如何对于TextView中各个部分的文本来设置字体,大小,颜色,样式,以及超级链接等属性呢?下面我们通过SpannableString的具体实例操作来演示一下. //创建一个 SpannableString对象 SpannableStri

  • Android利用SpannableString实现格式化微博内容

    前言 在Android开发中,有许多信息展示需要通过TextView来展现,如果只是普通的信息展现,使用TextView setText(CharSequence str)设置即可,但是当在TextView里的这段内容需要截取某一部分字段,可以被点击以及响应响应的操作,这时候就需要用到SpannableString了,SpannableString 配合 TextView 可以轻松实现对特定的文本做特定处理,例如可以修改文字颜色.背景色.将文字替换为图片实现,点击效果等. 首先看看最终实现的效果

  • Android TextView使用SpannableString设置复合文本的方法详解

    本文实例讲述了Android TextView使用SpannableString设置复合文本的方法.分享给大家供大家参考,具体如下: TextView通常用来显示普通文本,但是有时候需要对其中某些文本进行样式.事件方面的设置.Android系统通过SpannableString类来对指定文本进行相关处理,具体有以下功能: 1.BackgroundColorSpan 背景色 2.ClickableSpan 文本可点击,有点击事件 3.ForegroundColorSpan 文本颜色(前景色) 4.

  • java & Android 格式化字符串详解

    %1$s %1$d Android string (java & Android 格式化字符串) 1$s // String %1$d // int //R.string.old: <string name="old">我今年%1$d岁了</string> String sAgeFormat = getResources().getString(R.string.old); String sFinalAge = String.format(sAgeFor

  • Python:format格式化字符串详解

    目录 一.前言 二.什么是format方法 三.实例 1.传递位置参数 2.利用位置索引值传递参数 3.利用关键词传递参数 4.格式说明符 5.千位分隔符 6.其他 总结 一.前言 Python提供两种方法进行字符串格式化 1.利用百分号来格式化字符串,现在Python已停止更新这种方法 2.字符串的format方法,推荐使用这种方法 二.什么是format方法 字符串格式化,通过 {} 进行索引 三.实例 1.传递位置参数 for i in range(0, 226, 25): url = "

  • Python如何利用%操作符格式化字符串详解

    目录 前言 1.字符串模板的参数 2.格式控制符 3.格式化操作符辅助符 总结 前言 Python的%操作符可用于格式化字符串,控制字符串的呈现格式. 使用%操作符格式化字符串的模板格式如下: %[( name )][ flags ][ width ].[ precision ] typecode 1.字符串模板的参数 name :可选参数,当需要格式化的值为字典类型时,用于指定字典的 key . flags :可选参数,可供选择的值如下: +:表示右对齐,正数前添加正号,负数前添加负号. -

  • java 使用DecimalFormat进行数字的格式化实例详解

    java 使用DecimalFormat进行数字的格式化实例详解 简单实例: //获取DecimalFormat的方法DecimalFormat.getInstance(); public static void test1(DecimalFormat df) { //默认显示3位小数 double d = 1.5555555; System.out.println(df.format(d));//1.556 //设置小数点后最大位数为5 df.setMaximumFractionDigits(

  • Java中DecimalFormat用法详解

    我们经常要将数字进行格式化,比如取2位小数,这是最常见的.Java 提供DecimalFormat类,帮你用最快的速度将数字格式化为你需要的样子.下面是一个例子: importjava.text.DecimalFormat; public class TestNumberFormat{ public static void main(String[]args){ doublepi=3.1415927; //圆周率 //取一位整数 System.out.println(newDecimalForm

  • java.text.DecimalFormat用法详解

    简要 DecimalFormat 的 pattern 都包含着 正负子 pattern ,例如 "#,##0.00;(#,##0.00)": /** * Created by Shuai on 2016/7/11. */ public class Main { public static void main(String[] args) { // 正值 BigDecimal bigDecimal = BigDecimal.valueOf(-12211151515151.541666);

  • DecimalFormat数字格式化用法详解

    DecimalFormat 是 NumberFormat 的一个具体子类,用于格式化十进制数字. DecimalFormat 包含一个模式 和一组符号 符号含义: 下列字符用在非本地化的模式中.已本地化的模式使用从此 formatter 的 DecimalFormatSymbols 对象中获得的相应字符,这些字符已失去其特殊状态.两种例外是货币符号和引号,不将其本地化. import java.text.DecimalFormat; public class TestDecimalFormat

  • Android 文件操作详解及简单实例

     Android 文件操作详解 Android 的文件操作说白了就是Java的文件操作的处理.所以如果对Java的io文件操作比较熟悉的话,android的文件操作就是小菜一碟了.好了,话不多说,开始今天的正题吧. 先从一个小项目入门吧 首先是一个布局文件,这一点比较的简单,那就直接上代码吧. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="htt

  • Android 资源 id详解及的动态获取

    Android 资源 id详解 我们平时获取资源是通过 findViewById 方法进行的,比如我们常在onCreate方法中使用这样的语句: btnChecked=(ImageView)findViewById(R.id.imgCheck); findViewById是我们获取layout中各种View 对象比如按钮.标签.ListView和ImageView的便利方法.顾名思义,它需要一个int参数:资源id. 资源id非常有用.Android回自动为每个位于res目录下的资源分配id,包

  • Java之BigDecimal实现详解

    一.BigDecimal概述 Java在java.math包中提供的API类BigDecimal,用来对超过16位有效位的数进行精确的运算.双精度浮点型变量double可以处理16位有效数,但在实际应用中,可能需要对更大或者更小的数进行运算和处理.一般情况下,对于那些不需要准确计算精度的数字,我们可以直接使用Float和Double处理,但是Double.valueOf(String) 和Float.valueOf(String)会丢失精度.所以开发中,如果我们需要精确计算的结果,则必须使用Bi

随机推荐