可能重複:
How do I format a number in java?如何在java中使用double時去除整數中的「.0」?
我在使用雙重問題。當結果是一個整數時,它將顯示一個「.0」,如1.0,2.0。
任何人都可以幫助我如何在整數中刪除.0?
可能重複:
How do I format a number in java?如何在java中使用double時去除整數中的「.0」?
我在使用雙重問題。當結果是一個整數時,它將顯示一個「.0」,如1.0,2.0。
任何人都可以幫助我如何在整數中刪除.0?
Format您顯示的字符串。
import java.text.DecimalFormat;
public class Asdf {
public static void main(String[] args) {
DecimalFormat format = new DecimalFormat();
format.setDecimalSeparatorAlwaysShown(false);
Double asdf = 2.0;
Double asdf2 = 2.11;
Double asdf3 = 2000.11;
System.out.println(format.format(asdf));
System.out.println(format.format(asdf2));
System.out.println(format.format(asdf3));
}
}
打印:
2
2.11
2,000.11
使用
DecimalFormat format=new DecimalFormat("#.#"); //not okay!!!
是不正確的,因爲它與10^3弄亂,10^6等的隔板。
2000.11將顯示爲「2000.11」,而不是「2,000.11」
這是當然的,如果你想顯示正確的格式,而不是僅僅使用不當數字的toString()。
還要注意,格式可能不同的基於用戶的語言環境和DecimalFormat的應該相應地使用工廠方法與用戶的語言環境作爲參數進行初始化:
NumberFormat f = NumberFormat.getInstance(loc);
if (f instanceof DecimalFormat) {
((DecimalFormat) f).setDecimalSeparatorAlwaysShown(true);
}
http://download.oracle.com/javase/1.5.0/docs/api/java/text/DecimalFormat.html
UPDATE 此格式字符串正常工作也沒有調用額外的方法:
DecimalFormat format=new DecimalFormat("#,###.#");
//format.setDecimalSeparatorAlwaysShown(false);
將其轉換爲整數? –
這個問題的結束是不正確的,因爲它不是一個通用的「如何在Java中格式化數字」的問題,而是一個關於特定格式風格的問題。 – MarianP
它應該是一個重複的http://stackoverflow.com/questions/703396/how-to-nicely-format-floating-types-to-string – rds