在Meteor Collection中插入数字

时间:2014-07-11 06:08:24

标签: mongodb meteor

我想将一个变量作为数字插入我的Meteor Collection。但是,当我检查客户端控制台和迷你mongodb控制台时,它们将保存为字符串。

这是我的代码:

Gifts.insert({
    category : t.find('#selectCat').value,
    amount : parseFloat(inputAmount).toFixed(2),
    desc : description,
    createdAt : new Date(),
    createdBy : Meteor.user().username
});

我也试过了amount : Number(inputAmount).toFixed(2),但这也没有用。

3 个答案:

答案 0 :(得分:1)

这就是我解决问题的方法。

我按Number(inputAmount)

插入数量作为数字
Gifts.insert({
    category : t.find('#selectCat').value,
    amount : Number(inputAmount),
    desc : description,
    createdAt : new Date(),
    createdBy : Meteor.user().username,
});

然后,我创建了一个帮助器来格式化在html中呈现的数量:

Handlebars.registerHelper("formatAmount", function(str) {
    return str.toFixed(2);
});

在渲染过程中,我这样做:{{formatAmount amount}}

答案 1 :(得分:0)

toFixed方法将数字转换为格式化字符串。只需删除它,以便您的变量保持为数字。

答案 2 :(得分:0)

更改

amount : parseFloat(inputAmount).toFixed(2) 

amount : parseFloat(inputAmount).round(2) 

使返回值仍为带小数点后2位的数字。

第二个

amount : Number(inputAmount);

可能你需要这样做:

amount : new Number(inputAmount);