我試圖格式化一個double,如99928.000000
只讀爲99928
。我知道我可以將它更改爲一個整數,但是我正在閱讀的數據已經領先於0,整數不能提取。我可以以某種方式格式化爲只讀99928
。如何格式化一個Double來擺脫0's
String result = String.format("%f %s,%s (%1.3f; %1.3f)",zip, city, state, latitude,longitude);
當前代碼^^感謝您的時間。
我試圖格式化一個double,如99928.000000
只讀爲99928
。我知道我可以將它更改爲一個整數,但是我正在閱讀的數據已經領先於0,整數不能提取。我可以以某種方式格式化爲只讀99928
。如何格式化一個Double來擺脫0's
String result = String.format("%f %s,%s (%1.3f; %1.3f)",zip, city, state, latitude,longitude);
當前代碼^^感謝您的時間。
你已經通過編寫.3指定了三位小數,所以你得到它們。如果你不想要它們,不要指定它們。
我不知道你的意思是「整數不能接收的前導零」。雙打和整數都不包含前導零。
使用DecimalFormat
創建一個String
,並帶前導零來格式化一個郵政編碼。與此代碼:
DecimalFormat pattern = new DecimalFormat("00000");
String zip = pattern.format(99928.0);
System.out.println(String.format("%s", zip));
的輸出是:
99928
順便提及,因爲在一個郵政編碼前導零,它不應該被理解爲任何數值數據類型。您應該閱讀並將其存儲爲String
。
我猜你是存儲99928.000000
作爲一個字符串,如果你能保持前導零。
在這種情況下,您應該能夠通過使用小數點上的字符串拆分來獲得所需的內容。
String foo = "99928.000000"
foo = foo.split("\\.")[0]
的郵政編碼,你應 「%5.0F」 掩蓋它,如下
String result = String.format("%5.0f %s,%s (%1.3f; %1.3f)", zip, city, state, latitude, longitude);
可能是這樣可以幫到
呃...當前的變量是什麼數據類型,如果它們保持前導零? –
發佈您的初始字符串。 –
將郵政編碼存儲爲「String」而不是「double」更有意義。你不能和他們做算術(我可能住在洛杉磯和舊金山之間的中途?) –