在代码中 %d和%s的巧妙使用

本文介绍了一种优雅地在字符串中动态替换数字的方法,利用 %d、%f 和 %s 符号,结合工具类的可变参数方法,实现从服务端获取的数字(整数、浮点数)及文字的灵活变化。通过实例展示了如何在 Android UI 中展示红包金额范围,同时强调了将字符串统一管理在 string.xml 中的重要性。

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

"单个红包金额不低于0.01元,不高于200元"

在项目中有许多如上所示的字符串中夹杂着数字的文字,并且这些数字的类型不同(float,int),并且是通过服务端获取的数字,那么咱们如何巧妙而又优雅的变化这些数字或者文字呢?

首先介绍介个代表:

%d   (表示整数)

%f    (表示浮点数)

%s   (表示字符串)

可以在工具类中写上可变参数的方法:

public static String getString(int id,Object... args){
        return String.format(context.getResources().getString(id), args);
    }

其中args为变参数,也就说在这个字符串中可以有多处按照顺序进行替换,id为封装的R.string.xxx内容;用起来是不是很方便啊

Utils.getString(R.string.rp_range_money,sendRpUIUtil.getRpConfigBean().getSingle_envelope())

"单个红包金额不低于%f元,不高于%d元"

比如我举的例子中:

Utils.getString(R.string.rp_range_money,sendRpUIUtil.getMinValue,sendRpUtil.getMaxValue());

那么动态获取到的最大值和最小值都会依次替换string中的数值。同样%s也是一样使用。

注意:将这些字符串都归类写到string.xml中,并配置好%s、%d和%f   依次获取对应的值

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值