gpt4 book ai didi

javascript - 为什么我不能在 javascript 中将 1 加到一个大数上

转载 作者:行者123 更新时间:2023-12-02 18:56:10 25 4
gpt4 key购买 nike

var i = 20040115102010000;

i++;

returns 20040115102010000;

我必须使用大数库吗?

What is the standard solution in JavaScript for handling big numbers (BigNum)?

这个数字已经是浮点格式了,我将小数点向左移动了三次。另外,请注意,这是一个日期。我是否需要先将此数字转换为日期格式?我会发现在 Date() 对象中以毫秒为单位递增会更容易吗?

最佳答案

如果不创建一个 bigDay 库来处理你的 bignum,你就不能在 javascript 中使用那么大的 Date。

/*

来自'https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Date ':

JavaScript 日期以毫秒为单位,从 UTC 时间 1970 年 1 月 1 日午夜开始计算。一天有 86,400,000 毫秒。 JavaScript Date 对象的范围是相对于 1970 年 1 月 1 日 UTC 的 -100,000,000 天到 100,000,000 天。*/

var firstday=new Date(1970,0,1),lastday=new Date(1969,11,31);

firstday.setDate(firstday.getDate()-100000000);

lastday.setDate(lastday.getDate()+100000000);

firstday.toUTCString()+'; timestamp: '+firstday.getTime()+'\n'+
lastday.toUTCString()+'; timestamp: '+lastday.getTime();

/* 返回值:(JS中最大和最小的日期)

4 月 20 日星期二 -271821 04:00:00 GMT;时间戳:-8639999985600000

格林尼治标准时间 9 月 12 日星期五 275760 04:00:00;时间戳:8639999928000000*/

关于javascript - 为什么我不能在 javascript 中将 1 加到一个大数上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15318290/

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