最簡單的保留兩位小數的方法(android)
阿新 • • 發佈:2019-01-30
有的時候,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標籤檔案。
然後再程式碼中使用:
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,不用擔心前面整數部分顯示不正確)。