Javascript Meteor在数字上获得不正确的值类型

Javascript Meteor在数字上获得不正确的值类型,javascript,meteor,Javascript,Meteor,我有一个表单,用户可以在其中更改记录。提交表单后,我会将以前的值与新值进行比较,并在更改日志集合中记录所做的任何更改 我知道,在检查金额字段的值是否已更改之前,需要将其转换为数字。我的问题是,转换后,我的模板助手仍然将其视为字符串 这是代码 var trxColl = trx.findOne(Session.get('trx_DB_currentID')); // Contains _id of the trx records on the screen var formColl = theTe

我有一个表单,用户可以在其中更改记录。提交表单后,我会将以前的值与新值进行比较,并在更改日志集合中记录所做的任何更改

我知道,在检查金额字段的值是否已更改之前,需要将其转换为数字。我的问题是,转换后,我的模板助手仍然将其视为字符串

这是代码

var trxColl = trx.findOne(Session.get('trx_DB_currentID')); // Contains _id of the trx records on the screen
var formColl = theTemplate.findAll('.trx_edit');
formColl.forEach( function(item) {
    docName = "trxColl." + item.name;  // All the input names are the same as the DB field names                
    var value = item.value;
    if (item.name === "trx_amount")
    {
        value = parseFloat(value).toFixed(2);
    }
    if (value !== eval(docName))
    {
        console.log(value+ " has type : " + typeof value + " AND " + typeof eval(docName) + " has type : " + eval(docName));
    }
});

Input field is-
Amount: <input type="text" name="trx_amount" value="{{trx_amount}}" id="trx_amount" class="trx_edit">
当我像这样更新数据库的时候-

trx.update({'_id': 'roJ4w9jg6htSF8vfj' }, {$set: {'trx_amount': 568.00}}) 

它总是显示为568

那么这发生在哪个item.name和item.value上?返回一个字符串,evaldocName似乎是一个数字,因此使用严格的相等比较,它们永远不会相等。或者使用抽象的比较,比如说!=而不是或者将两者转换为同一类型。你似乎仍然有类型的evaldocName+有类型:+evaldocName的错误顺序。罗伯,天哪,我觉得自己像个傻瓜!我对在字符串和数字之间来回移动感到困惑。我也在想!===是严格的,不是!==。现在可以正常工作了。谢谢
trx.update({'_id': 'roJ4w9jg6htSF8vfj' }, {$set: {'trx_amount': 568.00}})