Javascript indexOf不是一个函数

Javascript indexOf不是一个函数,javascript,Javascript,我目前正在使用以下代码。在控制台中,它正在投掷 未捕获类型错误:TotalAccountBalance.indexOf不是函数 我不知道还能做什么。搜索没有多大帮助 var CurrentPreservedBalance, CurrentGeneralAccountBalance, TotalAccountBalance; CurrentPreservedBalance = '20.56'; CurrentGeneralAccountBalance = '20.56';

我目前正在使用以下代码。在控制台中,它正在投掷

未捕获类型错误:TotalAccountBalance.indexOf不是函数

我不知道还能做什么。搜索没有多大帮助

var CurrentPreservedBalance, CurrentGeneralAccountBalance, TotalAccountBalance;
    CurrentPreservedBalance = '20.56';
    CurrentGeneralAccountBalance = '20.56';
    if( CurrentPreservedBalance && CurrentGeneralAccountBalance ){
        TotalAccountBalance = +CurrentPreservedBalance + +CurrentGeneralAccountBalance;
        console.log( TotalAccountBalance.indexOf('.') );
    } else {
        $('#total-fnpf-account-balance').val('$0.00');
        $('#total-account-balance').val('$0.00');
    }
是字符串的方法,而不是数字的方法

console.log( TotalAccountBalance.toString().indexOf('.') );
TotalAccountBalance
是取两个数字(我们知道它们是数字,因为您使用了一元加号运算符来转换它们)并将它们添加到一起的结果。这是另一个号码

indexOf
是一种可以在字符串而不是数字上找到的方法

您可以转换为字符串:

(TotalAccountBalance + "").indexOf('.')
console.log( ("" + TotalAccountBalance).indexOf('.') );
将字符串转换为数字;为了得到正确的数学结果,这显然是可取的行为

如果随后要使用字符串函数(例如),则需要将其转换回字符串:

(TotalAccountBalance + "").indexOf('.')
console.log( ("" + TotalAccountBalance).indexOf('.') );

摆脱这些优点之一
+CurrentPreservedBalance++CurrentGeneralAccountBalance中间。然后
TotalAccountBalance.
应该可以工作了。前面也加了这个。另外,删除'20.56'中的引号,顺便说一句,你为什么需要小数点的索引?@zer00ne我的客户有一个愚蠢的要求,我甚至不明白发生了什么。啊,不要再说了,许多客户端确实存在着巨大的愚蠢时刻。同样,如果
TotalAccountBalance
存在一些
null
场景,可以这样转换以避免错误:
console.log(String(TotalAccountBalance).indexOf('.')