我有一个jquery函数,它从调用者那里接收一个参数。在参数上调用split()
会引发错误。这是函数
function formatNairaCurrency(value) {
var formatedWithoutNaira;
var formattedAmount
//check if value is in kobo format
var splittedValue = value.split(".");//Throws error
if (splittedValue.length === 2) {
formatedWithoutNaira = isNaN(splittedValue[0]) ? "" : splittedValue[0].toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",");
formattedAmount = "₦" + formatedWithoutNaira + splittedValue[1];
} else {
formatedWithoutNaira = isNaN(value) ? "" : value.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",");
formattedAmount = "₦" + formatedWithoutNaira + ".00";
}
return formattedAmount;}
致电var splittedValue = value.split(".");
会引发错误value.split is not a function
我错过了什么?
我在.cshtml
文件中调用它。即使在同一.js
文件中,这也适用于另一个功能。区别在于value
不是参数,而是文本框中的值。
非常感谢您的帮助。
答案 0 :(得分:1)
如果我理解你的意图正确,你试图使用split for string。您的错误可能是由值不是字符串引起的。您需要调试或抛出控制台' value'。
修改:例如
值 null ,或者值未完成这肯定会导致您的错误。测试这些条件:
(value === null)
(typeof value === 'undefined')
如果您的值数字 - 这也会导致错误。您需要先将数字转换为字符串。你可以通过
来做到这一点var valueAsString = value.toString();
valueAsString.split('.');