【发布时间】:2013-11-04 15:24:14
【问题描述】:
我正在尝试在 javascript 中将十六进制字符串解析为十进制数,但我遇到了一些奇怪的事情。
十六进制字符串是'27a4b0795a7d749c',我知道十进制数是2856602098915439772,由python和windows的calc检查。但是 js 的 parseInt 没有返回正确的答案。
这是测试代码:
var hex = '27a4b0795a7d749c';
console.log(hex);
var num = parseInt(hex, 16);
console.log(num);
var hex2 = num.toString(16);
console.log(hex2);
控制台显示(我在 Windows 64 位上使用 Chrome 30.0.1599.101 m):
我在 IE9 中测试它,它也得到了2856602098915439600。但是这是怎么发生的呢?
【问题讨论】:
-
Javascript 数字没有那么精确。
-
@lonesomeday 非常感谢
标签: javascript