[英]Format decimal values with String in Java
我是android和java編程的新手,所以如果這是一個簡單的問題,請原諒我。 我的問題是在小數點后添加%。 我將獲得雙精度值,並且不知道小數點后多少位,我需要轉換為小數點后兩位,最后需要在最后一個位置加上%。 問題是,我將格式化雙精度值一次。 我已經嘗試過像這樣的DecimalFormat(“#。##%”),但是小數點向前移動了兩位數。 請幫助我擺脫這個問題。
使用DecimalFormat(“#。##%”),
實際的:34.142545
產出:3414.25%
通過在格式中添加%,可以乘以100,然后添加%字符。 這就是為什么它看起來像小數點移動。
您可以使用類似:
String output = new DecimalFormat("#.##").format(input) + "%";
另一種方法是在格式化之前除以100:
String output = new DecimalFormat("#.##%").format(input / 100.0);
如果您使用%
格式,則意味着您想將值轉換為百分比,但是您需要記住,百分比世界中的值1
等於100%
因此您使用的值將自動乘以100。為避免這種情況,您可以可以通過用撇號'%'
引用來將%
更改為文字
new DecimalFormat("#.##'%'");
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.