导航

萌即是正义!时不时分享一些ACG活动记录与有趣代码的小站!

侧边栏
热门文章
1博文
时隔两年的《冒险岛Online》线下聚会——Super Maple Party 2025
热度
1160
2页面
程序员老黄历&求签
热度
377
3推文
《Happy Sugar Life》的作者签名复制原画到啦!
热度
369
4推文
让AI生成了一张 Happy Sugar Life 的手办图。 效果出乎意料的好,太尊啦!
热度
226
5页面
足迹
热度
143
6推文
由于韩国Nexon的一系列迷惑操作,导致全球的R区玩家买单。 在2024年12月11日的日服更新中,日服R区开始了第一轮普区化改造。 一夜间,软棉棉的资产被清0,所有装备被上了锁,所有值钱的道具被清空,5转核心和碎片被清除。 相对应的,开放了交易和拍卖功能,以及间接的日元换游戏币的功能。 另外,第一轮普区化还没有删除R区的伤害buff技能,以及6转的升级材料也还保留。
热度
104
7页面
游戏
热度
104
8页面
友链
热度
104
9页面
追番
热度
91
10推文
将博客端的Nuxt版本从3升级到了4。 按照官方的升级教程走非常顺利的就升到了4。唯一的问题就是会报弃用警告,不知道是Nuxt UI导致的还是本体导致。跑了跑,发现没什么问题就上到维基萌上了。 中途想把Nuxt UI也从2升级4。但是一直没成功,按照官方教程走,结果Tailwindcss虽然安装了但是一直没生效,就退回到2的最新版了。 但是2的最新版也有点问题,就是编译时间加倍,这个问题4也有。如果继续用老版本的UI吧,提示不兼容当前Nuxt,进退两难。
热度
90
最新评论
Zrzzz
2025-11-14 19:57
@广树:我定语缺失了 大佬严谨
广树管理员
2025-11-14 08:22
@Spike:是这样的,不过最大的意义还是可以前进后退时保持浏览图片的状态。
广树管理员
2025-11-14 08:21
@Zrzzz:是我推的结婚照,圆满了
Spike
2025-11-13 23:38
em...我觉得要克制地使用,一旦触发,如果读者网络比较慢,可能就得在那等好一阵子,体验不太好。(虽然他也可以自己关闭啦)
Zrzzz
2025-11-13 23:25
家里挂着结婚照,某种意义上圆满了
攻略中
全民高尔夫环球之旅
暂无评分
Steam全民高尔夫环球之旅
2025年9月07日 12时 ~ 攻略中
已累计游玩2个月8天
《全民高尔夫 环球之旅》除了能体验到与过去作品相同的乐趣、爽快与深奥之外, 还有着以精美图像设计而成、个性丰富的角色们与以世界各地为主题的球场, 以及能让所有人热血沸腾的全新模式等等,是本系列的全新力作!
ToHeart
暂无评分
SteamToHeart
2025年6月26日 19时 ~ 攻略中
已累计游玩4个月21天
AQUAPLUS推出的“温暖人心的校园恋爱游戏”将以高清全3D形式焕新归来!
fault - StP - LIGHTKRAVTE
暂无评分
Steamfault - StP - LIGHTKRAVTE
2025年5月29日 20时 ~ 攻略中
已累计游玩5个月19天
全球累计销量超过50万份的“fault”系列最新作!故事的舞台是一个融合了奇幻与科幻的超前世界——卢森海德王国。本作讲述了生活在此地的一个平凡又平庸的究极普通市民——名为果子的少年的故事。
PSN奖杯卡

PSN奖杯卡

归档
赞助商广告

JS十进制大整数转十六进制字符串 预防精度缺失

作者:广树时间:2018-07-23 14:39:53分类:JavaScript

因为JS的精度缺失导致大整数在十六进制转换上也会有精度确实。

例如:

Number('999999999999999999').toString(16)
"de0b6b3a7640000"


0xde0b6b3a7640000 = 1000000000000000000

这个时候可以先用以前文章提到过的大整数字符串运算来得出数字字符串,然后再通过下面的方法来转换成十六进制字符串。

function dec2hex(str){ 
    var dec = str.toString().split(''), sum = [], hex = [], i, s
    while(dec.length){
        s = 1 * dec.shift()
        for(i = 0; s || i < sum.length; i++){
            s += (sum[i] || 0) * 10
            sum[i] = s % 16
            s = (s - sum[i]) / 16
        }
    }
    while(sum.length){
        hex.push(sum.pop().toString(16))
    }
    return hex.join('')
}

例子:

dec2hex('999999999999999999')
"de0b6b3a763ffff"

代码转自:stackoverflow

相关文章:《预防JS精度丢失之字符串除以n个0 与 整数数字用字符串相加 的解决方案JS大整数(字符串)相乘与字符串乘以n个0 | 预防JS精度丢失 | JS字符串乘法

donate.png


telegram banner (1).png


1210 x 50(蓝底).png

cloudcone