新年快乐!
这是我的代码:
var totalwin,pradinisStatymas
function Increase()
{
....
....
totalwin += pradinisStatymas; //I'm adding increasing totalwin by pradinisStatymas
return print();
}
function print()
{
locale[lang][7] = "Total win: ";
var a="<br>"+locale[lang][7]+totalwin+"<br>";
bot_debug(a,0);
}
$bCons = $("#botConsole");
function bot_debug(text,type)
{
switch(type)
{
case 0:{$bCons.css("color","#353535"); $bCons.html(text); break;}
case 1:{$bCons.css("color","#C12E2A"); $bCons.html(text); break;}
case 2:{$bCons.css("color","#419641"); $bCons.html(text); break;}
}
}
问题是,如果我将“pradinisStatymas”设置为 5,它应该将 $bCons 的文本更改为“Total win: 5”,但它会将文本更改为“Total win: 5” 05”。
如果我进一步增加它,它将继续在末尾添加 pradinisStatymas 值“总胜利:055”。
当我使用 javascript 控制台而不是 html 文本时,它工作正常。 我想我需要进行一些格式化,但我不确定如何进行。 感谢您的帮助。
最佳答案
您遗漏了重要的一点,即如何/在哪里获得 pradinisStatymas
,但症状使问题相当清楚:pradinisStatymas
中的值是一个字符串。 (也许您是从 input
元素的 value
获取它。)因此 +=
是字符串连接,而不是加法。
如果我们假设 totalwin
最初设置为 0
(因此是一个数字开头),请将 pradinisStatymas
转换为数字在 +=
之前,例如:
totalwin += +pradinisStatymas;
// or
totalwin += Number(pradinisStatymas);
// or (if it's meant to be an integer)
totalwin += parseInt(pradinisStatymas, 10);
// or
totalwin += parseFloat(pradinisStatymas);
这些是您的一些选项,第三个选项假设它是一个整数(整数)。我的回答here详细介绍各种选项。
关于javascript - 变量数据错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34556503/