我想将一个变量作为数字插入我的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)
,但这也没有用。
答案 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);