簡體   English   中英

使用正則表達式刪除前導零但保留減號

[英]Remove leading zeros with regex but keep minus-sign

我想用這個線程上的表達式替換java中的前導零:

s.replaceFirst("^0+(?!$)", "")

但是我怎樣才能讓它適用於像-00.8899這樣的值呢?

您可以嘗試:

String output = "-00.8899".replace("^(-?)0*", "$1");

輸出:

-.8899

為什么要處理字符串變量中的數值?

Java是一種強類型語言,您可能更容易將其轉換為float或double,然后執行所有業務邏輯,最后格式化輸出。

就像是:

Double d = Double.parseDouble(s);
double val = d; //mind the auto-boxing/unboxing

//business logic   

//get ready to display to the user
DecimalFormat df = new DecimalFormat("#.0000");
String s = df.format(d);

http://download.oracle.com/javase/7/docs/api/java/text/DecimalFormat.html

暫無
暫無

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

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