所以这是我整理的一个愚蠢的实验,基本上是试图用修饰符生成 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);
这可能优于使用parseInt
或parseFloat
,原因有两个:
+
将转换任何数字(这意味着,您不需要对整数和 float 使用不同的方法)
如果任一值不可转换,+
将失败。parseInt
和parseFloat
忽略变量中的任何尾随文本。例如,parseInt("10px", 10)
结果为10
,而(+"10px")
结果为NaN
。
这取决于你想使用什么。
关于javascript - 如何将随机数作为数字而不是 2 个字符串相加到结果中的存储变量中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14883717/