javascript - 如何将随机数作为数字而不是 2 个字符串相加到结果中的存储变量中?

标签 javascript

所以这是我整理的一个愚蠢的实验,基本上是试图用修饰符生成 D&D 风格的攻击骰。我想添加数字,但 javascript 不断将数字添加为字符串。我不知道如何完成基本数学......这是我的代码-

        function battle()
    {
        var CS = document.battleForm.playerCS.value;
        var D20 =  Math.ceil(Math.round(Math.random() * 20))
        var attackRoll = CS + D20

        if (isNaN(CS))
        {
            alert ("please provide your Combat Score!")
            return
        }
        if (CS != '')
        {
            document.battleForm.enemyCS.value = attackRoll 
        }
    }

最佳答案

要确保两个数字相加,请尝试:

var num3 = +num1 + (+num2);

可能优于使用parseIntparseFloat,原因有两个:

  • + 将转换任何数字(这意味着,您不需要对整数和 float 使用不同的方法)
  • 如果任一值不可转换,
  • + 将失败。 parseIntparseFloat 忽略变量中的任何尾随文本。例如,parseInt("10px", 10) 结果为 10,而 (+"10px") 结果为 NaN

这取决于你想使用什么。

关于javascript - 如何将随机数作为数字而不是 2 个字符串相加到结果中的存储变量中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14883717/

相关文章:

Javascript - 基本 if/else 语句

javascript - 使用 JQuery 在图像之间自动滑动 - 与我的 html

javascript - 工作灯 : recursive function call inside Adapter - hangs Studio

javascript - 查询中的 mongodb/javascript 变量

javascript - Cloud9 环境中的 "Read-only global varName should not be modified"问题

javascript - 为克隆的 ReactJS 元素分配键

javascript - 什么是解决 javascript 中名称冲突的最佳方法?

javascript - Ruby on Rails Assets 管道无法正常工作

javascript - Gulp 中的任务依赖关系

javascript - 面向初学者的 jQuery 警报框操作方法