簡體   English   中英

刪除字符串數據類型的尾隨零

[英]Remove the one trailing zero for a String datatype

如何刪除 java 中字符串數據類型的唯一尾隨零。 例如:

如果輸入值為 29.360,則預期的 output 應為 29.36

如果輸入值為 29.00,則預期的 output 應為 29.0

如果輸入值為 29.50,則預期的 output 應為 29.5

嘗試這個。

  • "0$"匹配字符串末尾的0
  • 如果找到,則將所有內容替換為空字符串。
  • (?<.\\.)表示不要刪除小數點后的單獨 0。
String[] data = {"29.360", "100", "1000","29.00", "33.47", "29.50", "29.0"}; 
for (String val : data) {
    String result = val.replaceAll("(\\d*\\.\\d*)(?<!\\.)0$","$1");
    System.out.println(val + " --> " + result);
}

印刷

29.360 --> 29.36
100 --> 100
1000 --> 1000
29.00 --> 29.0
33.47 --> 33.47
29.50 --> 29.5
29.0 --> 29.0

您可以使用 BigDecimal 來實現相同的目的。 示例如下:

    System.out.println(new BigDecimal("29.360").stripTrailingZeros());
    System.out.println(new BigDecimal("29.00").stripTrailingZeros());
    System.out.println(new BigDecimal("29.50").stripTrailingZeros());

暫無
暫無

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

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