簡體   English   中英

在Java中使用String格式化十進制值

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM