javascript - 变量数据错误

标签 javascript html formatting

新年快乐!

这是我的代码:

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/

相关文章:

javascript - 1 div 的高度取决于其他 div 的高度?

python - 如何正确格式化Python代码结构?

html - 如何防止跨度位于行尾?

javascript - 此函数如何将参数传递给另一个内部函数参数

javascript - 在javascript中实现类似angular ng-repeat的功能

javascript - 无法将字符从一个字符串替换为另一个字符串 - 这是 Javascript 错误吗?

python - 如何让 NumPy 打印尾随 0?

javascript - 将 C# 列表(多个)转换为 JavaScript 关联数组

javascript - 按下回车键时表单未提交

javascript - 如何从原始选项卡获取新打开的浏览器选项卡名称?