我有以下功能:
function calculateTotal( )
{
var sum = 0;
// iterate through each td based on class and add the values
$( ".tdArticlePositionZeilensumme" ).each(function() {
var value = $( this ).data( "amount" );
//var value = "1,123.00";
console.log( "Value before replace:" + value );
var newValue = value.replace(/,/g,""); //
console.log( "Value nach replace" );
//sum += value;
sum += parseFloat( newValue );
console.log( "Zwischensumme: " + sum );
});
console.log( "Summe: " + sum);
}
我收到错误:该值doesn't have the function replace
。当我像上面看到的那样手动添加值时,替换和总和就会起作用。
但是当我从数据中获取值('金额')时,变量值没有替换函数。
如果存在金额,我使用console.log进行检查,是的,它存在。
我认为当我得到金额并将其设置为变量值时,该值不是正常的字符串变量。
我的错误在哪里?
答案 0 :(得分:-1)
数据(金额)可能已设为浮点数。您可以使用typeof(value)
确认变量的类型。
使用var newValue = value.toString().replace(/,/g,"");