gpt4 book ai didi

java - Android/Java 长数学有时会被小数点影响

转载 作者:搜寻专家 更新时间:2023-11-01 08:05:43 25 4
gpt4 key购买 nike

<分区>

我遇到了一个我似乎无法弄清楚的小问题。我从两个日历中获取以毫秒为单位的时间,将它们相减,然后将结果除以得到两个日历的天数之差。当重复完成时,有时这个数学会被一个小的小数点偏离,通常是 .0000001。有办法解决这个问题吗?注意:我需要将这些数字保留为长值,因为它们会在一段时间后变得很大。

代码如下:

首先我得到日历日期的毫秒值...

    final long calendarOne = datePickerCalendar
.getTimeInMillis();

final long calendarTwo = actualCalendar
.getTimeInMillis();

然后我将这两个数字相减...

    if(calendarOne > calendarTwo)
{

long differenceInMilliseconds = (long)
(calendarOne) - (calendarTwo);

}

differenceInMilliseconds 的值将如下变化,两个日历之间没有变化。

正确的数字:63417600000

错误号码:63417599999

错误的号码:63417599997

大部分时间数学计算得出的数字都是正确的,但我不明白为什么会出现差异。我在数学上做错了什么吗?还是有办法舍入多头?

感谢您的帮助

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