// numberFormat.js // --------------- // A simple tool to automagically format numbers for you using the Intl API // // Usage: // ------ // Just wrap the numbers you want formatted in '' '' tags // add the script in your document head wiht defer set // COMING SOON : // ------------- // Support for currency formatting :) //The MIT License (MIT) //Copyright (c) 2022 Robert Morrison //Permission is hereby granted, free of charge, to any person obtaining a copy //of this software and associated documentation files (the "Software"), to deal //in the Software without restriction, including without limitation the rights //to use, copy, modify, merge, publish, distribute, sublicense, and/or sell //copies of the Software, and to permit persons to whom the Software is //furnished to do so, subject to the following conditions: //The above copyright notice and this permission notice shall be included in all //copies or substantial portions of the Software. //THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR //IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, //FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE //AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER //LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, //OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE //SOFTWARE. // No, I will not add a LibreJS compatible comment // GNU won't support my choice of browser so I won't support their tool function formatNumbers() { const numbers = document.getElementsByTagName("num"); const documentLanguage = document.documentElement.lang; const formatter = Intl.NumberFormat(documentLanguage); for (let num of numbers) { var number = parseFloat(num.innerHTML); if (isNaN(number)) { console.error("[numberFormat.js] ERROR: cannot parse num element: " + num.innerHTML); continue; } var formatted = formatter.format(number); num.innerHTML = formatted; } } formatNumbers();