جافاسكريبت - تحويل القيمة العشرية إلى عدد صحيح باستخدام JSON stringify
أنا أستخدم Node.js وكائن JSON المدمج لتحويل كائن JSON إلى سلسلة نصية. في الكائن يوجد
{
weight : 1.0
}
ومع ذلك، عندما أقوم بتحويلها إلى سلسلة وأكتبها في ملف، يكون الناتج الوزن: 1.
الإجابة رقم 1
كما هو مذكور في هذا الجواب على سؤال مشابه، وفي صفحة MSDN هذه:
لا يوجد شيء اسمه عدد صحيح في JavaScript. الأرقام في JavaScript هي "قيم بتنسيق IEEE 754 مزدوج الدقة 64-بت".
افتح وحدة تحكم متصفح الويب الخاص بك واكتب 1.0. سترى 1 مطبوعًا. جميع الأرقام في جافاسكريبت هي أرقام ذات فاصلة عائمة، لذا قام المُسلسل الخاص بك ببساطة باختيار حذف الدقة غير الضرورية.
الإجابة رقم 2
في الواقع، مشكلتك ليست مشكلة، 1 == 1.0 == 1.00 في جافاسكريبت وإذا كان لديك قيمة عائمة مثل 1.55 فإن stringify يعطيك نفس 1.55 وليس 1.. حتى في هذه الحالة إذا كنت تريد كتابة 1.0، قم بتغيير القيمة إلى سلسلة
أعني ضع القيمة بين علامتي اقتباس مزدوجتين
{
weight : "1.0"
}
