इससे पहले कि मैं toFixed () कॉल कर पाता, मुझे parseFloat () और नंबर () रूपांतरणों के बीच फैसला करना था। उपयोगकर्ता इनपुट पर पोस्ट-कैप्चरिंग नंबर स्वरूपण का एक उदाहरण यहां दिया गया है।
HTML:
<input type="number" class="dec-number" min="0" step="0.01" />
आयोजन प्रबंधकर्ता:
$('.dec-number').on('change', function () {
const value = $(this).val();
$(this).val(value.toFixed(2));
});
उपरोक्त कोड TypeError अपवाद में होगा। ध्यान दें कि यद्यपि html इनपुट प्रकार "संख्या" है, उपयोगकर्ता इनपुट वास्तव में एक "स्ट्रिंग" डेटा प्रकार है। हालाँकि, toFixed () फ़ंक्शन को केवल एक ऑब्जेक्ट पर एक संख्या के रूप में लागू किया जा सकता है।
मेरा अंतिम कोड निम्नानुसार होगा:
$('.dec-number').on('change', function () {
const value = Number($(this).val());
$(this).val(value.toFixed(2));
});
कारण है कि मैं नंबर () बनाम पार्सफ्लोअट () के साथ वोट करने का पक्ष लेता हूं, क्योंकि मुझे न तो खाली इनपुट स्ट्रिंग के लिए अतिरिक्त सत्यापन करना है, न ही NaN मूल्य। नंबर () फ़ंक्शन स्वचालित रूप से एक खाली स्ट्रिंग को संभालता है और इसे शून्य पर गुप्त करता है।