簡體   English   中英

Java 去除尾隨 0

[英]Java Remove Trailing 0s

我想知道如何從我的 java 程序中的整數中刪除尾隨 0 例如:100.0 -> 100 但是,對於像 1285.71 這樣的數字保持不變。

我只需要刪除整數中的尾隨 0,同時仍保留雙精度值。 我試過了:

    double s = x / y;
    String pattern = "0.#";

    DecimalFormat decimalFormat = new DecimalFormat(pattern);
    System.out.println(decimalFormat.format(Double.valueOf(s)) );

但是,它不起作用,我仍然在整數(100.0)之后得到煩人的 0 任何幫助或見解將不勝感激,為您的時間歡呼。

因為您使用DecimalFormat來表示您的數字,所以關於該模式有幾點需要記住:

  • 0 - 如果提供,則打印一個數字,否則為 0
  • # - 如果提供,則打印一個數字,否則不打印
  • . – 指示放置小數點分隔符的位置
  • , – 指示放置分組分隔符的位置

integer 部件永遠不會被丟棄。 如果您提供這樣的模式: "0.#" ,那么它將 output 前綴和后綴中的第一個數字(如果它不為零)。 例如,12345.5 將 output 相同,但 12345.0 將 output 12345。

如果您在后綴后面的數字超過了您提供的后綴模式的數量,那么這些數字將被丟棄,例如您的模式是0.#"並且您的輸入是 123.45 那么 output 將是 123.4。

然后您可以將您的模式更改為"0.##"以使其適用於 100.0 和 1285.71

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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