最简单的保留两位小数的方法(android)

有的时候,android在展示数据的时候,需要保留两位小数:

之前用的一个方法:

比如把米转换为km,然后保留两位小数显示:

<span style="white-space:pre">		</span>float distanceValue = Math.round((distance/10f))/100f;
		DecimalFormat decimalFormat =new DecimalFormat("0.00");//构造方法的字符格式这里如果小数不足2位,会以0补足.
		String distanceString = decimalFormat.format(distanceValue) + "km";//format 返回的是字符串

下面介绍一种简单的方法,利用<xliff>标签。

首先在value>string资源文件重定义String标签:

<?xml version="1.0" encoding="utf-8"?>
<resources xmlns:android="http://schemas.android.com/apk/res/android"
	xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">

    <string name="app_name">TextCustomView</string>
    <string name="hello_world">Hello world!</string>
    <string name="action_settings">Settings</string>
    <string name="xliff_test">your name is <xliff:g id="NAME">%1$50s</xliff:g>, and your age is
				<xliff:g id="AGE">%2$1.2f</xliff:g></string>

</resources>

这里需要注意两个地方:

1.添加xliff标签文件。

2.xliff标签的用法:这个大家具体参考这里吧:http://blog.csdn.net/xipiaoyouzi/article/details/7891153


然后再代码中使用:

String str = res.getString(R.string.xliff_test, "xliff",(float)120);
然后得到的字符串就是保留两位小数据的(补零),下面看看效果:


这里也有两点需要注意的:

1.此种方式,在代码中就不需要再次对数据进行处理,可以简化代码与计算。

2.在使用xliff标签的%n$mf的方式的时候,m可以设置为1.n(n为要保留的小数位数,没有则补零,前面的1会完整保留当前数据,比如100.2会显示100.20,不用担心前面整数部分显示不正确)。



  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值