JSON.Stringify () force int значение javascript (node.js)


1

Вы можете предоставить заменитель функцию для JSON.stringifyкоторой будет преобразовывать значение числа , когда ключ имя "amount":

function theReplacer(key, value) {
    return key === "amount" ? +value : value;
}
var object = {
    username: "a",
    influenceid: "b",
    question: "c",
    amount: "42"
};
var json = JSON.stringify(object, theReplacer, 2);
console.log(json);

тогда

"amount"

Number

Этот пример преобразует значение любого "amount" поля в число, но вы можете уточнить его, если вам нужно его ограничить.


0

Вы можете сделать поле суммы, Numberпосле чего оно автоматически преобразуется в число из строки

amount:{
   type: Number
}

или вы можете использовать parse.floatкак

socket.on('dollar quest', function(dolquest,dolamnt,uid,stud,stat){
    var info = new InfoUser({
        username: stud,
        amount: parseFloat(dolamnt),
        question: dolquest
    });

    InfoUser.save(function(err,user){
        if(err)throw err;
        console.log(user);
    });
});

0 принят

Я копаю этот, и он работает на меня, поэтому я отвечу на свой вопрос, но спасибо за помощь сэр TJ и Shaib. Вот что я сделал.

 socket.emit('dollar quest', JSON.stringify(result[0]), 
 JSON.stringify(result[1]), inUserId, myuserid, 'dquest');

и добавил

 socket.emit('dollar quest', JSON.stringify(result[0]), 
 JSON.stringify(result[1]).replace(/"/g, ""), inUserId, myuserid, 'dquest');

Таким образом, идея заменилась, поэтому у сэра TJ была правильная идея

JavaScript, JSON, Node.js, MongoDB,

javascript,json,node.js,mongodb,

0

Ответов: 3


1

Вы можете предоставить заменитель функцию для JSON.stringifyкоторой будет преобразовывать значение числа , когда ключ имя "amount":

function theReplacer(key, value) {
    return key === "amount" ? +value : value;
}
var object = {
    username: "a",
    influenceid: "b",
    question: "c",
    amount: "42"
};
var json = JSON.stringify(object, theReplacer, 2);
console.log(json);

тогда

"amount"

Number

Этот пример преобразует значение любого "amount" поля в число, но вы можете уточнить его, если вам нужно его ограничить.


0

Вы можете сделать поле суммы, Numberпосле чего оно автоматически преобразуется в число из строки

amount:{
   type: Number
}

или вы можете использовать parse.floatкак

socket.on('dollar quest', function(dolquest,dolamnt,uid,stud,stat){
    var info = new InfoUser({
        username: stud,
        amount: parseFloat(dolamnt),
        question: dolquest
    });

    InfoUser.save(function(err,user){
        if(err)throw err;
        console.log(user);
    });
});

0 принят

Я копаю этот, и он работает на меня, поэтому я отвечу на свой вопрос, но спасибо за помощь сэр TJ и Shaib. Вот что я сделал.

 socket.emit('dollar quest', JSON.stringify(result[0]), 
 JSON.stringify(result[1]), inUserId, myuserid, 'dquest');

и добавил

 socket.emit('dollar quest', JSON.stringify(result[0]), 
 JSON.stringify(result[1]).replace(/"/g, ""), inUserId, myuserid, 'dquest');

Таким образом, идея заменилась, поэтому у сэра TJ была правильная идея

JavaScript, JSON, Node.js, MongoDB,
Похожие вопросы