Javascript 显示非常大的数字而不是显示 xe+n [重复]

2024-01-02

我的 JavaScript 代码经常输出非常大的数字,我希望完全显示这些数字,而不是获取诸如2.7934087356437704e+56我希望它显示完整的数字。在 JS 中可以实现这一点吗?


如此大的数字,你会失去 JavaScript 的精度。它返回的指数形式是 Javascript 可以表示的最精确的形式。但是,如果您不关心精度损失而只想得到扩展数字的字符串,则可以使用自己的函数来执行此操作。我找不到可以本地执行此操作的方法,因此您必须自己添加它。

我发现这个片段可以为你做到这一点乔纳斯·拉奥尼·苏亚雷斯·席尔瓦 http://jsfromhell.com/string/expand-exponential:

String.prototype.expandExponential = function(){
    return this.replace(/^([+-])?(\d+).?(\d*)[eE]([-+]?\d+)$/, function(x, s, n, f, c){
        var l = +c < 0, i = n.length + +c, x = (l ? n : f).length,
        c = ((c = Math.abs(c)) >= x ? c - x + l : 0),
        z = (new Array(c + 1)).join("0"), r = n + f;
        return (s || "") + (l ? r = z + r : r += z).substr(0, i += l ? z.length : 0) + (i < r.length ? "." + r.substr(i) : "");
    });
};

一个用法示例是:

> var bignum = 2.7934087356437704e+56;
> (bignum+'').expandExponential();
"279340873564377040000000000000000000000000000000000000000"

您必须首先将数字转换为字符串,因此+''

如果您确实需要精确的精度,您可以尝试使用类似的库大数字 http://jsfromhell.com/classes/bignumber or javascript-bignum https://github.com/jtobey/javascript-bignum.

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

Javascript 显示非常大的数字而不是显示 xe+n [重复] 的相关文章

随机推荐

  • int 到 double 的无效转换异常

    也许我疯了 但我认为这是一个有效的演员阵容 new int 1 2 3 4 5 Cast
  • Silverstripe 的 Coda 语法高亮显示

    我刚刚搬到一台新机器上 在我的旧机器上 我有 Silverstripe 模板 ss 文件 遵循 Coda 中的 HTML 语法突出显示 我一辈子都不记得我是如何打开它的 不过我记得这是我自己做的 谷歌没有找到任何结果 有什么建议么 更新 真
  • “在 SPARK Ada 中接受挑战”- 后置条件下的总和鬼函数有意外行为

    我正在 SPARK Ada 中编写一个软件 它需要后置条件来验证函数返回值是否等于数组的求和值 在证明函数所在的文件后 我不断收到一个错误 该错误并没有完全加起来 没有双关语的意图 我将发布代码的屏幕截图以便更好地查看 大小为 10 的数组
  • 如何使用 Perl 搜索文件中两个时间戳之间的行?

    在 Perl 中 我尝试读取日志文件 并且仅打印在两个特定时间之间具有时间戳的行 时间格式为 hh mm ss 并且这始终是每个日志上的第三个值 例如 我将搜索介于 12 52 33 到 12 59 33 之间的行 我是 Perl 新手 不
  • 将多个字符串传递给 string::find 函数

    是否可以以某种方式将多个字符串传递给 string find 函数 例如 要查找字符串 我可以使用以下命令 str find a string 我想做的是这样的 str find a string another string yet an
  • 验证元素在量角器中消失

    出于等待目的 我使用这种等待函数 browser wait function return browser isElementPresent by repeater recentName in recentNames row 0 10000
  • 为什么 Kotlin 的 null 安全性不能与局部变量初始化器一起正常工作?

    请看这段代码 fun localVarNullSafety1 var number Double 3 0 val sum 2 0 number does not compile Type mismatch inferred type is
  • 发送JSON数据Servlet Applet通信示例

    您好 我正在开发一个应用程序 其中 servlet 必须将数据 来自数据库 发送到小程序 我已经休养了这个link https stackoverflow com questions 6769255 applet servlet commu
  • 数据表分页不起作用?

    我的 html 页面包含一个表格 我使用 dataTable 插件进行分页 1 https i stack imgur com O2C1e png 1 https i stack imgur com O2C1e pnghttps datat
  • 在 cython 中使用 typedef'd 结构

    我在头文件 dcm h 中有以下定义 typedef struct double alpha double gamma double tau ThetaDCM 我想将它导入到 cython 中 所以我有 cdef extern from d
  • 如何将 Object.values 与打字稿一起使用?

    我正在尝试从对象中形成逗号分隔的字符串 const data Ticket 1 pdf 8e6e8255 a6e9 4626 9606 4cd255055f71 pdf Ticket 2 pdf 106c3613 d976 4331 ab0
  • 如何生成WM_SEC.AUTH_SIGNATURE?

    有谁有可以为 Walmart API 生成此标头的 python 代码吗 WM SEC AUTH SIGNATURE 我试图理解 java 示例 但我没有任何运气 因为我没有 Java 经验 如果有人知道需要签名的字符串的格式 我可能可以从
  • iPad ios 8.4 中不会触发窗口 onload 事件

    我面临以下奇怪的问题 功能 当我打开我的网站页面时 该页面包含许多图像并使用 Javascript jQuery 作为客户端功能 单击每个图像时 所有其他图像都会更改其不透明度 并且所选图像会显示 div 包含一些信息和图像的视频 我使用了
  • Android:在自定义适配器中调用 getView() 两次

    我正在将自定义 SimpleCursorAdapter 设置为 ListView 由于某种原因 FriendAdapter 的 getView 会针对数据库中的每个项目调用两次 经过一番调查 我的 contact list xml 中没有w
  • php的file_get_contents是否忽略文件锁定?

    我读过 php 的手册页 http php net manual en function file get contents php 120389关于 file get contents 函数 它没有说明 file get contents
  • Firebase 检索最高 100 分

    This is a screen shot of my firebase I am trying to retrieve the highest 100 score in firebase database I am using this
  • 2008 年和 2010 年使用实体框架有什么区别

    您知道 首先实体框架是随 Visual Studio 2008 SP1 一起提供的 现在它随 Visual Studio 2010 一起提供 问题是 这两个版本有什么区别呢 持久性无知 您可以定义自己的 POCO 普通旧 CLR 对象 它们
  • MSI WIX:使用 2 个 MSI 创建次要升级补丁

    有没有办法根据旧的 MSI 安装程序和新的 MSi 安装程序创建次要升级 补丁文件 即 msp 或 msi 我们希望为客户提供次要升级补丁 msp 或 msi0 其中仅包含更改 1 我基于 4 个 wxs 文件创建了 旧的 Test msi
  • 用行均值替换 NA 值

    我想替换通过以下方式获取的矩阵中的 NA 值 read table 这些值应该是相应行的平均值 即表的以下行 1 2 1 NA 2 1 1 2 会成为 1 2 1 1 43 2 1 2 谢谢 这是一些示例数据 m lt matrix 1 1
  • Javascript 显示非常大的数字而不是显示 xe+n [重复]

    这个问题在这里已经有答案了 我的 JavaScript 代码经常输出非常大的数字 我希望完全显示这些数字 而不是获取诸如2 7934087356437704e 56我希望它显示完整的数字 在 JS 中可以实现这一点吗 如此大的数字 你会失去