2011-10-26 66 views

回答

6

你可以嘗試使用:

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

輸出:

-.8899 
+0

Hi..Nice解決方案。但我也希望在正數之前加上「+」號。例如Double 0.10應該是+.10和-0.10應該是-.10和1.0應該是+1。請爲此提供解決方案。 – AndiM

+0

@AndiM試試看:'^([ - +]?)0 *' – hsz

5

爲什麼你要處理的一個字符串變量的數值? 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

相關問題