Javascript 如何在结果处将随机数作为数字添加到存储的变量中,而不是将两个字符串相加?
这是我做的一个愚蠢的实验,基本上是想用一个修改器生成一个D&D风格的攻击骰。我想添加数字,但javascript一直将数字作为字符串添加。我不知道如何完成基本的数学。。。。。这是我的密码-Javascript 如何在结果处将随机数作为数字添加到存储的变量中,而不是将两个字符串相加?,javascript,Javascript,这是我做的一个愚蠢的实验,基本上是想用一个修改器生成一个D&D风格的攻击骰。我想添加数字,但javascript一直将数字作为字符串添加。我不知道如何完成基本的数学。。。。。这是我的密码- function battle() { var CS = document.battleForm.playerCS.value; var D20 = Math.ceil(Math.round(Math.random() * 20)) v
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
更可取,原因有二:
将转换任何数字(也就是说,整数和浮点不需要不同的方法)+
- 如果任一值不可转换,
将失败+
和parseInt
忽略变量中的任何尾随文本。例如,parseFloat
产生parseInt(“10px”,10)
,而10
产生(+“10px”)
NaN
要使用什么取决于您自己。要确保两个数字相加,请尝试:
var num3 = +num1 + (+num2);
这可能比使用parseInt
或parseFloat
更可取,原因有二:
将转换任何数字(也就是说,整数和浮点不需要不同的方法)+
- 如果任一值不可转换,
将失败+
和parseInt
忽略变量中的任何尾随文本。例如,parseFloat
产生parseInt(“10px”,10)
,而10
产生(+“10px”)
NaN
你想用什么取决于你自己。
CS
是一个字符串;使用parseFloat
或一元加CS
为字符串;使用parseFloat
或一元加号