Viz*_*per -1 javascript node.js
我一直在尝试使用 javascript 添加以下数字;
76561197960265728+912447736
遗憾的是,由于 JavaScript 中的四舍五入,它不会得到正确的数字,我需要该数字作为字符串。
我尝试使用 substr 删除最后几位数字,然后将两个数字相加,然后将两个字符串放在一起,遗憾的是,如果第一个数字是 1,则这不起作用。
function steamid(tradelink){
var numbers = parseInt(tradelink.split('?partner=')[1].split('&')[0]),
base = '76561197960265728';
var number = parseInt(base.substr(-(numbers.toString().length + 1))) + numbers;
steamid = //put back together
}
steamid('https://steamcommunity.com/tradeoffer/new/?partner=912447736&token=qJD0Oui2');
Run Code Online (Sandbox Code Playgroud)
预期的:
76561198872713464
对于如此大的整数进行操作,您应该使用BigInt,它将正确地对大于 2\xcb\x8653 (这是NumberJS 上正常可以支持的最大大小)的整数进行操作
const sum = BigInt(76561197960265728) + BigInt(912447736);\n\nconsole.log(sum.toString());Run Code Online (Sandbox Code Playgroud)\r\n2020年编辑:这个API仍然没有被一些浏览器广泛支持,所以你可能需要一个polyfill,请检查这个库
\n编辑 2023现在,除了 Internet Explorer 之外,几乎所有内容都支持此 API ,因此您可以安全地使用它,而无需使用 Polyfill,除非您有严格的旧版浏览器支持要求。
\n