আমার মূলত একই চাহিদা ছিল এবং আমি দেখেছি যে এই কার্যকারিতাটির জন্য কোনও বিল্ট-ইন মেকানিজম নেই।
ট্রেলিং শূন্যগুলি ছাঁটাবার পাশাপাশি আমার ব্যবহারকারীর বর্তমান লোকেলের জন্য আউটপুটটিও বন্ধ করে ফর্ম্যাট করার প্রয়োজন ছিল (যেমন 123,456.789)।
এ সম্পর্কে আমার সমস্ত কাজকে গিটারহাবটিতে প্রশংসিত ফ্ল্যাট.জেস (এমআইটি লাইসেন্স) হিসাবে অন্তর্ভুক্ত করা হয়েছে: https://github.com/dperish/ ব্যাখ্যা tyFloat.js
ব্যবহারের উদাহরণ:
prettyFloat(1.111001, 3) // "1.111"
prettyFloat(1.111001, 4) // "1.111"
prettyFloat(1.1111001, 5) // "1.1111"
prettyFloat(1234.5678, 2) // "1234.57"
prettyFloat(1234.5678, 2, true) // "1,234.57" (en-us)
আপডেট হয়েছে - আগস্ট, 2018
সমস্ত আধুনিক ব্রাউজার এখন ECMAScript আন্তর্জাতিকীকরণ API সমর্থন করে , যা ভাষার সংবেদনশীল স্ট্রিং তুলনা, সংখ্যা বিন্যাস এবং তারিখ এবং সময় ফর্ম্যাটিং সরবরাহ করে।
let formatters = {
default: new Intl.NumberFormat(),
currency: new Intl.NumberFormat('en-US', { style: 'currency', currency: 'USD', minimumFractionDigits: 0, maximumFractionDigits: 0 }),
whole: new Intl.NumberFormat('en-US', { style: 'decimal', minimumFractionDigits: 0, maximumFractionDigits: 0 }),
oneDecimal: new Intl.NumberFormat('en-US', { style: 'decimal', minimumFractionDigits: 1, maximumFractionDigits: 1 }),
twoDecimal: new Intl.NumberFormat('en-US', { style: 'decimal', minimumFractionDigits: 2, maximumFractionDigits: 2 })
};
formatters.twoDecimal.format(1234.5678); // result: "1,234.57"
formatters.currency.format(28761232.291); // result: "$28,761,232"
পুরানো ব্রাউজারগুলির জন্য, আপনি এই পলিফিলটি ব্যবহার করতে পারেন: https://cdn.polyfill.io/v2/polyfill.min.js?features=Intl.~locale.en
1.234000 === 1.234
,।