String avgPageLoadTimeStr = row.get("avg_page_load_time");
Long avgPageLoadTime = Long.parseLong(avgPageLoadTimeStr);
avgPageLoadTimeStr = 52747.50;
如何avgPageLoadTimeStr
轉換爲Long
?
String avgPageLoadTimeStr = row.get("avg_page_load_time");
Long avgPageLoadTime = Long.parseLong(avgPageLoadTimeStr);
avgPageLoadTimeStr = 52747.50;
如何avgPageLoadTimeStr
轉換爲Long
?
52747.50
是一個浮點數。所以,你應該首先將其解析到一個浮點數,然後舍入爲long值:
String avgPageLoadTimeStr = row.get("avg_page_load_time");
double d = Double.parseDouble(avgPageLoadTimeStr);
long avgPageLoadTime = Math.round(d);
根據你的需要,你也可以將它取整爲長值之前使用Math.floor()
或Math.ceil()
。
請注意,'Math.floor'和'Math.ceil'返回一個'double'。 –
謝謝,你說得對。我把最後一句話改了一點;-) – micha
+1對OP的說明,你想要一個「長」而不是「長」。在這種情況下,只需投射就足夠了'long avgPageLoadTime =(long)Double.parseDouble(avgPageLoadTimeStr);' –
您將得到一個NumberFormatException
,因爲「52747.50」是一個浮點數。
因此,您可以使用Double
來解析它並獲得long
值。
String avgPageLoadTimeStr = "52747.50";
Double doubleObj = new Double(avgPageLoadTimeStr);
long longValue = doubleObj.longValue();
System.out.println(longValue);
或者乾脆
long longValue = (long) Double.parseDouble(avgPageLoadTimeStr);
您不需要創建一個新的Double對象來解析爲double。 –
@PeterLawrey是的,你是對的。這就是爲什麼我說「或乾脆...」:) :) –
+1清晨對我來說太早了。 –
發生了什麼事,當您使用的Long.parseLong() – SpringLearner
可以使用'數學。#圓鋼(雙)',到雙圓爲長。請注意,您將丟失信息。 –
什麼是時間單位? –