在javascript中添加两个大数字[重复]

2024-01-22

我一直在尝试使用 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');

预期的:76561198872713464


对于使用如此大的整数进行运算,您应该使用BigInt https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/BigInt,它将正确地处理大于 2ˆ53(这是正常情况下的最大尺寸)的整数Number可以支持JS

const sum = BigInt(76561197960265728) + BigInt(912447736);

console.log(sum.toString());

2020年编辑:这个API仍然某些浏览器并未广泛支持 https://caniuse.com/#search=bigint,所以你可能需要一个polyfill,请检查这个图书馆 https://www.npmjs.com/package/big-integer

编辑2023这个API现在是除 Internet Explorer 之外的几乎所有内容均受支持 https://caniuse.com/bigint,因此您可以安全地使用它而无需填充,除非您有严格的旧版浏览器支持要求。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在javascript中添加两个大数字[重复] 的相关文章

随机推荐

  • 启用 GlassFish 压缩

    如何启用玻璃鱼压缩 我在 http lister 属性中启用了压缩 但没有改变回应 登录管理控制台 localhost 4848 前往Network Config gt Network Listener 选择要启用 gzip 的侦听器 gt
  • Arduino Nano 上的 WiFi

    我无法找到的虚拟问题 我用来将 WiFi 802 11b g n 添加到 Raspberry Pi 的扩展板也可以在 Nano 上使用吗 换句话说 向 Arduino Nano 板添加 WiFi 有多容易 可行 Thanks Arduino
  • 设置 xcode 项目的默认字体样式、颜色和大小

    我正在开发的应用程序有一个特定的配色方案 所以我想知道是否可以设置 默认 背景颜色 文本颜色和字体大小 以便每次我在界面中创建新视图或标签时Builder 我不必更改所有这些参数 从 iOS 5 开始 有UIAppearance所有标准 U
  • useLocation 挂钩即使在硬刷新时也能保持状态

    在做一个项目时 我注意到一个奇怪的行为useLocation我找不到解释的钩子 我有一个按钮 单击它会将您重定向到EditOrder页面并将传递一个状态 const navigate useNavigate const handleClic
  • Django Websockets 数据发送到错误的套接字

    使用 Django Websockets Channels 我创建了一个 一个 组 并且来回消息工作得很好 我们称之为A组 当我在不同的浏览器中打开第二个组和第二个 我们称之为 B 组 WebSocket 连接时 问题就开始了 我尝试发送到
  • 在运行时更改 Angular 中的区域设置?

    我正在做一些关于在运行时更改 Angular 区域设置的研究 并发现了这个线程 如何在 Angular 2 的 DatePipe 中设置区域设置 https stackoverflow com questions 34904683 how
  • 将 POS 标签从 TextBlob 转换为 Wordnet 兼容输入

    我使用 Python 和 nltk Textblob 进行一些文本分析 有趣的是 您可以为 wordnet 添加 POS 以使同义词搜索更加具体 但不幸的是 nltk 和 Textblob 中的标记与 wordnet 对其同义词集类期望的输
  • 如何检索商店状态的旧值和新值

    在我的组件中 我试图获取在 vuex 存储状态中分配的特定对象数组的旧值和新值 如下所示 但是 当我 newArray 和 oldArray 返回相同的对象数组时 我从以下文档中了解了以下内容 但我不明白检索不同版本的最佳方法是什么 注意
  • 在 Vaadin 7 应用程序中使用推送在多个客户端之间显示相同的数据

    我想向多个客户端共享同一组数据 我需要使用推送来自动更新他们在屏幕上的视图 我已阅读问题和答案 Vaadin 7 应用程序中推送的最小示例 Push https stackoverflow com q 27808460 642706 现在我
  • UITableView 背景图片

    我正在尝试设置一个带有滚动背景的表格视图 背景是重复的云图像 作为实现这一点的初步尝试 我使用了以下代码 void viewDidLoad aTableView backgroundColor UIColor colorWithPatter
  • Objective C switch 语句和命名整型常量

    我有一个控制器 它充当两个滚动视图的委托 这两个滚动视图放置在由上述视图控制器管理的视图中 为了区分我尝试使用的两个滚动视图switch语句 而不是简单的指针比较if陈述 我已将两个滚动视图标记为 0 和 1 如下所示 NSUInteger
  • 如何在没有子查询的情况下重写此查询?

    所以我想做的是 我有一个表 其中包含商店中某些商品的一些价格 我想要做的是找到该商店出售的所有商品的平均价格 以及商店中出售的所有类似商品的总和 我的专栏是 item no branch 总金额 真正重要的是我必须避免子查询 所以我不能做类
  • 设计代理类的真正目的是什么?

    我一直在研究代理类 但我不明白设计它的全部想法 据我所知 到目前为止 它是一个包装对象 可以控制对原始对象的访问 但如果我们想控制它 为什么我们不能设计具有这些访问机制的原始类呢 我读到这些代理对象对于跟踪方法调用 将方法调用路由到远程服务
  • SKSpriteNode 滑动不稳定?

    我创建了以下精灵套件节点 SKSpriteNode megadeth megadeth SKSpriteNode spriteNodeWithImageNamed megadeth rocks png megadeth name aweso
  • 在同一类中使用不同的格式序列化多个 DateTime 属性

    我有一个具有两个 DateTime 属性的类 我需要使用不同的格式序列化每个属性 我该怎么做 我试过 JsonConvert SerializeObject obj Formatting None new IsoDateTimeConver
  • 当没有遇到 return 语句时,Perl 从子例程中返回什么?

    我今天遇到了这个问题 并认为发布问答是明智的做法 因为我找不到类似的内容 如果您发现此问题重复 请随时投票结束 以下子程序有条件地return http perldoc perl org functions return html输出 我认
  • Selenium IDE 中上传文件的脚本

    上传文件的脚本 在 selenium IDE 或 如何使用selenium自动上传文件 您可以使用 selenium type xpath of text box path of your file 命令 类型目标 文本框的xpath of
  • 尝试将 Moles 与 NUnit 一起使用。获得“Moles 需要测试成为一个仪器化过程”

    我尝试将 Moles 与 NUnit 一起使用 但收到以下错误 Moles 需要测试才能成为仪表化过程 我还在 Visual Studio 2008 中使用 Visual NUnit 来实现此功能 欢迎任何帮助 为了让 Moles 能够与
  • CIFilter 的便利初始化器给出了奇怪的异常

    这是我正在尝试的代码 typealias Parameters Dictionary
  • 在javascript中添加两个大数字[重复]

    这个问题在这里已经有答案了 我一直在尝试使用 javascript 添加以下数字 76561197960265728 912447736 遗憾的是 由于 JavaScript 中的四舍五入 它不会得到正确的数字 我需要该数字作为字符串 我尝