在javascript中求10的幂,还有比这更好的方法吗

2023-12-26

我需要创建一个特定幂的整数值(这不是正确的术语,但基本上我需要创建 10、100、1000 等)。“幂”将被指定为函数参数。我想出了一个解决方案,但它感觉很老套而且错误。我想学习一种更好的方法,如果有一种方法,也许不是基于字符串的方法?此外,eval() 也不是一个选项。

这是我现在所拥有的:

function makeMultiplierBase(precision)
{
    var numToParse = '1';
    for(var i = 0; i < precision; i++)
    {
        numToParse += '0';
    }

    return parseFloat(numToParse);
}

我也刚刚想出了这个非基于字符串的解决方案,但由于循环仍然显得很老套:

function a(precision)
{
    var tmp = 10;
    for(var i = 1; i < precision; i++)
    {
        tmp *= 10;
    }

    return tmp;
}

顺便说一句,我需要这样做来创建一种处理货币的舍入方法。我一直在使用 var 格式化 = Math.round(值 * 100) / 100

但这段代码到处都是,我想要一个方法来处理舍入到特定精度,所以我创建了这个

if(!Math.roundToPrecision)
{
    Math.roundToPrecision = function(value, precision)
    {
        Guard.NotNull(value, 'value');

        b = Math.pow(10, precision);
        return Math.round(value * b) / b;
    }  
}

我想我会把它放在这里,因为事实证明它已经很方便了。


在 ES5 及更早版本中,使用Math.pow:

var result = Math.pow(10, precision);
var precision = 5;
var result = Math.pow(10, precision);
console.log(result);

在 ES2016 及更高版本中,使用求幂运算符 http://www.ecma-international.org/ecma-262/7.0/index.html#sec-exp-operator:

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

在javascript中求10的幂,还有比这更好的方法吗 的相关文章

随机推荐

  • youtube-iframe-api 隐藏式字幕问题

    昨天 2017 年 6 月 12 日 花了大部分时间试图找出为什么当我使用 YouTube iframe 嵌入代码 从 共享 gt 嵌入 按钮生成 时我的字幕不起作用 经过多次实验 我将问题范围缩小到已经确定的范围 隐藏式字幕无法正常工作
  • 如何在 XUnit 中使用 AddTransient 方法注入“Microsoft.Extensions.Configuration.IConfiguration”

    我正在尝试对课堂上的方法进行单元测试TWService并需要两个依赖项来注入 即IXMLResponseSave and IConfiguration 我能够注入依赖IXMLResponseSave在我的事实中使用以下行 services
  • 无法创建新的远程会话 - Selenium webdriver

    我遇到异常 线程 main 中的异常 org openqa selenium SessionNotCreatedException 无法创建新的 远程会话 所需能力 能力 marionette true browserName firefo
  • 我如何只回显空白而不回显换行符

    我正在开发一个简单的批处理脚本 该脚本循环目录中的文件并使用 ffmpeg 处理它们 出于可读性目的 我想将 ffmpeg 输出缩进 4 个空格 但我无法想出一种可行的方法 echo off for a in dp0rawVideo MP4
  • 使用 AWS Lambda 从 AWS S3 访问元数据

    我想检索每次将对象上传到 S3 时添加的一些元数据 使用控制台 x amz meta my variable 我已经通过控制台设置了 lambda 以便在每次将对象上传到我的存储桶时触发 我想知道我是否可以使用类似的东西variable e
  • 如何在Intellij IDEA 13.1中创建具有Maven结构的Spring MVC应用程序?

    我想创造新的春季MVC项目于Maven结构使用Intellij IDEA但不能那样做 实际上我想创建像这样的项目mkyong com http www mkyong com样品 例如this http www mkyong com spri
  • Android OpenGL ES 以宽高比全屏显示图像

    我想在我的 OpenGL 应用程序中全屏显示图像而不丢失其纵横比 我知道我可以将图像作为纹理绘制到 立方体 或二维平面上 但当我只想显示二维图像时 我不确定这是否真的是最好的方法 特别是因为我希望该图像全屏显示而不丢失其纵横比 我知道使用
  • new 不分配内存

    这应该会每秒填满我的内存 100 MB 左右 我使用 gnome systemmonitor 和 htop 跟踪内存使用情况 但不知怎的 事实并非如此 为什么 include unistd h include
  • 仅在完成加载后显示所有图像[重复]

    这个问题在这里已经有答案了 In div img src images 1 jpg img src images 2 jpg img src images 3 jpg img src images 4 jpg img src images
  • 不兼容的类型:推理变量 T 具有不兼容的边界[重复]

    这个问题在这里已经有答案了 我有下面的代码 public int solution int X int A List
  • 谷歌字体 Rubik 无法使用,或者我错过了什么?

    我在网站上使用 Google 的 Rubik 字体 仍在进行中 它 突然停止显示任何文本 似乎即使在 Google Font 网站上 该字体也无法正常工作 他们所有的设备和仪器都活着 在魔方下方没有显示 但如果你检查它 它就在那里 还有其他
  • CORS 播放框架

    我正在 Play Framework 2 5 Java 后端开发 Angular 2 应用程序 如果我通过浏览器 URL 访问我的端点 它们就可以正常工作 但是 从 Angular 2 应用程序调用它会显示错误 XMLHttpRequest
  • 有没有办法跟踪扩展的资源使用情况?

    我通过 GitHub 和 Google 搜索注意到很多人都有和我类似的问题 vscode 挂起 除了文本编辑器之外 什么都不起作用 有时除了调试之外一切都有效 像往常一样 禁用所有扩展使其可以完美运行 检查开发者工具 我注意到 Extens
  • HSQLDB ROWNUM 与 Oracle 的兼容性

    THe HSQLDB 变更日志 http hsqldb org doc 2 0 changelist 2 0 txt指出ROWNUM 被添加到v2 2 0在针对内存 HSQLDB 运行集成测试时 我使用它没有任何问题 但是 我想对真实的 O
  • 未捕获的类型错误:对象 [object Object] 没有方法“on”

    谁能帮我解决这个问题 当我使用最新 或较新 版本的 jQuery 时 下面的小脚本可以正常工作 但是 当我使用旧版本的 jQuery 时 我的脚本显示on函数不存在 这是我的脚本 不适用于旧版本的 jQuery document ready
  • C# json 到数组调试“应用程序进入中断模式”

    我想将 json 转换为数组 但当我尝试调试模式时 我得到 应用程序进入中断模式 并且如果我尝试运行它 程序就会冻结 我用的答案是将 json 转换为 C 数组 https stackoverflow com questions 95865
  • Javascript / jQuery 粘性,不使用 css 位置:固定

    我正在寻找一个用于粘性标题的 Javascript jQuery 插件 它不会将元素的样式切换到固定位置 通常 我正在使用这个http stickyjs com http stickyjs com 而且效果很好 我正在开发一个带有 jQ u
  • 如何忽略大文件并推送到 git repo

    之前我本地使用的是git 没有使用 gitignore然后 我创建了一个 gitignore文件 并将所有不需要的文件写入其中 当我将它们推送到 git repo 时 出现 fatal The Remote endhanged Outsta
  • 如何将一个 DataFrame 列转换为包含基于另一个 DataFrame 的列的真值表?

    我有一个df with a user id and a category 我想将其转换为真值表 以确定该用户是否至少有一个该类别的条目 但是 最终表还应包括 df list 中出现的所有类别的列 这些列可能根本不会出现在df 现在我用一个创
  • 在javascript中求10的幂,还有比这更好的方法吗

    我需要创建一个特定幂的整数值 这不是正确的术语 但基本上我需要创建 10 100 1000 等 幂 将被指定为函数参数 我想出了一个解决方案 但它感觉很老套而且错误 我想学习一种更好的方法 如果有一种方法 也许不是基于字符串的方法 此外 e