让我解释一下我的问题.我使用以下方法将二进制数转换为十进制数:
number.toString(16)
个
此方法呈现的数字看起来确实是十六进制形式.但问题是:我需要从通过身份验证API(在本例中为STEAM)检索的用户的ID中获取数据,并且我需要通过第三方SQL数据库检索数据.该用户在数据库中的识别符确实是他的STEAM识别符,但格式为十六进制.
问题是,我检索并转换为十六进制形式的标识符与数据库的不同.然后,人们可能会想,数据库的标识符不只是不同吗?这就是我的各种测试的用武之地,证明我不会!
让我再详细解释一下:
使用此代码:
let n = 76561199121591748;
console.log(n.toString(16))
代码返回给我:
110000145386dc0
这将返回以下内容(这是数据库ID):
110000145386dc4
根据我的所有测试(在线脚本的示例、NodeJS转换库的测试等),一切都会导致错误的结果.尽管如此,在线转化网站(如this site)向我展示了良好的结果.所以我想问题一定出在方法上.你能告诉我这是怎么解释的吗?提前谢谢你