我如何将 Object 转换为 Long
How do I case Object to Long
我有一个 returns 值为 24566.999 的对象(实际上表示以毫秒为单位的时间)
现在我想把它转换成长
我试过这样做
JavascriptExecutor js = (JavascriptExecutor) driver;
Object x = js.executeScript("return Date.now() - performance.timeOrigin;");
long hh = Long.parseLong(String.valueOf(x));
这会引发数字格式异常,因为字符串有一个“.”。在里面。
另外,我不能忽略它,因为它实际上告诉我时间,我实际上需要将它除以 1000 才能得到以秒为单位的时间
如何将其转换为长?
编辑
另外,我试过这样做
public Long getPageLoadTime(WebDriver driver) {
Object x = ((JavascriptExecutor) driver).executeScript("return Date.now() - performance.timeOrigin;")
return ((Double) x.longValue();
}
外面是这样称呼的
System.out.println("PageLoad Time: " + (commonUtils.getPageLoadTime(utils.getWebDriver())) / 1000 + " Seconds");
它抛出 This throws java.lang.ClassCastException: java.lang.Long cannot be cast to java.lang.Double
这种场景你可以看看BigDecimal。试试下面的代码:
JavascriptExecutor js = (JavascriptExecutor) driver;
Object x = js.executeScript("return Date.now() - performance.timeOrigin;");
long hh = new BigDecimal(String.valueOf(x)).longValue();
我有一个 returns 值为 24566.999 的对象(实际上表示以毫秒为单位的时间) 现在我想把它转换成长 我试过这样做
JavascriptExecutor js = (JavascriptExecutor) driver;
Object x = js.executeScript("return Date.now() - performance.timeOrigin;");
long hh = Long.parseLong(String.valueOf(x));
这会引发数字格式异常,因为字符串有一个“.”。在里面。 另外,我不能忽略它,因为它实际上告诉我时间,我实际上需要将它除以 1000 才能得到以秒为单位的时间 如何将其转换为长?
编辑 另外,我试过这样做
public Long getPageLoadTime(WebDriver driver) {
Object x = ((JavascriptExecutor) driver).executeScript("return Date.now() - performance.timeOrigin;")
return ((Double) x.longValue();
}
外面是这样称呼的
System.out.println("PageLoad Time: " + (commonUtils.getPageLoadTime(utils.getWebDriver())) / 1000 + " Seconds");
它抛出 This throws java.lang.ClassCastException: java.lang.Long cannot be cast to java.lang.Double
这种场景你可以看看BigDecimal。试试下面的代码:
JavascriptExecutor js = (JavascriptExecutor) driver;
Object x = js.executeScript("return Date.now() - performance.timeOrigin;");
long hh = new BigDecimal(String.valueOf(x)).longValue();