gpt4 book ai didi

java - Joda setJulian 非法参数异常

转载 作者:行者123 更新时间:2023-12-01 14:03:02 25 4
gpt4 key购买 nike

当我在 joda time API 中针对某些 julian double 值调用 setJulianDate 方法时,出现非法参数异常。

JDateTime jdt = new JDateTime(); 
JulianDateStamp jdstamp = new JulianDateStamp(julianDateDouble);
jdt.setJulianDate(jdstamp);
System.out.println(jdt);

什么时候

Double julianDateDouble = (double)2452555.13;

我收到 java.lang.IllegalArgumentException: Value Too big: 1000 错误。然而,当

Double julianDateDouble = (double)2452558.67;

双朱利安值已正确转换为 2002-10-11 04:04:48.000。我拥有的一堆朱利安日期值也会发生同样的情况。

最佳答案

我不确定,但一切似乎都指向 float 的精度。您可以使用接受 BigDecimalJulianDateStamp 重载构造函数。

BigDecimal julianDateDouble = new BigDecimal("2452555.13");
JDateTime jdt = new JDateTime();
JulianDateStamp jdstamp = new JulianDateStamp(julianDateDouble);
jdt.setJulianDate(jdstamp);
System.out.println(jdt);

打印

2002-10-07 15:07:12.000

this Julian Date Converter 验证.

如果您的输入采用 double 形式,请使用

Double dob = (double)2452555.13;
System.out.println(dob);
BigDecimal julianDateDouble = new BigDecimal(dob.toString());

关于java - Joda setJulian 非法参数异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19189833/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com