0
我在某些julian double值的joda時間API中調用setJulianDate方法時收到非法參數異常。Joda setJulian非法參數異常
JDateTime jdt = new JDateTime();
JulianDateStamp jdstamp = new JulianDateStamp(julianDateDouble);
jdt.setJulianDate(jdstamp);
System.out.println(jdt);
當
Double julianDateDouble = (double)2452555.13;
我得到的java.lang.IllegalArgumentException異常:值過大:1000錯誤。但是,
Double julianDateDouble = (double)2452558.67;
正確地將雙朱連值轉換爲2002-10-11 04:04:48.000。對於我所擁有的一系列朱利安日期值也是如此。
我相信這是與如何'數量2452555.13'和其他內存中表示的事情。該格式的毫秒值似乎達到1000,無法正確顯示,因此會拋出'IllegalArgumentException'。 –
@SotiriosDelimanolis你知道解決這個問題的方法嗎?我只需要一個小時的轉換精度。 –
不熟悉這個API,但我注意到了你的代碼。沒有必要像這樣明確地轉換這些值。 Java中的浮點數默認爲'double'。 '(double)2452555.13'與'2452555.13'完全相同。如果你想避免混淆'2452555.13d',也可以在數字後加上'd'。 – toniedzwiedz