有的时候,android在展示数据的时候,需要保留两位小数:
之前用的一个方法:
比如把米转换为km,然后保留两位小数显示:float distanceValue = Math.round((distance/10f))/100f;DecimalFormat decimalFormat =new DecimalFormat(0.00);//构造方法的字符格式这里如果小数不足2位,会以0补足.String distanceString = decimalFormat.format(distanceValue) + km;//format 返回的是字符串
首先在value>string资源文件重定义String标签:TextCustomViewHello world!Settingsyour name is%1$50s, and your age is%2$1.2f
这里需要注意两个地方:
1.添加xliff标签文件,最简单的保留两位小数的方法(android)》(https://www.unjs.com)。
2.xliff标签的用法:这个大家具体参考这里吧:www.2cto.com
然后再代码中使用: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,不用担心前面整数部分显示不正确)。