Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/405.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将大JavaScript十六进制数转换为字符串_Javascript - Fatal编程技术网

将大JavaScript十六进制数转换为字符串

将大JavaScript十六进制数转换为字符串,javascript,Javascript,我有一个很大的十六进制数,(不是字符串),类似于: var bytes = 0x8136ae64614c30da74d4412273bfb; // this is a number, not a String 我想把它转换成一个字符串toString(16)截断它,所以我得到8136AE64614C3000000000000。但是我需要把整数转换成字符串 已经尝试了BigInt,但1)截断,2)宁愿少一个依赖项 有没有一种方法可以将该数字打印成字符串而不丢失任何内容?这个数字来自哪里0x813

我有一个很大的十六进制数,(不是字符串),类似于:

var bytes = 0x8136ae64614c30da74d4412273bfb; // this is a number, not a String
我想把它转换成一个字符串
toString(16)
截断它,所以我得到
8136AE64614C3000000000000
。但是我需要把整数转换成字符串

已经尝试了
BigInt
,但1)截断,2)宁愿少一个依赖项


有没有一种方法可以将该数字打印成字符串而不丢失任何内容?

这个数字来自哪里<代码>0x8136ae64614c30da74d4412273bfb已经没有数字那么精确了。使用,
0x8136ae64614c30da74d4412273bfbn.toString(16)
BigInt(“0x8136ae64614c30da74d4412273bfb”)。toString(16)
应该可以工作。从API调用中获取该数字如何准确地从API调用中获取如此精确的数字?你确定你没有得到一个字符串吗?不,这是一个数字。这就是为什么我在问题中强调这是一个数字,并且我已经尝试过字符串和BigInt…0x8136ae64614c30da74d4412273bfb比javascript中最安全的数字大得多。而
0x
是十六进制数字文本的表示方式。在内部,它们都存储为IEEE754标准。除非获取字符串,否则无法从API获取前缀为
0x
的数字作为JSON。正如@SebastianSimon所提到的,您可以从API以字符串格式发送它,并使用
BigInt
将其用作数字,而不会丢失精度