Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function formatNumber (num) {
- if (typeof num !== 'number') {
- console.error('Incorrect value was passed. Please enter a valid number')
- return
- }
- let isNegativeNum
- let isFloatingNum
- let absoluteNum
- let decimalNum
- let formatedString = ''
- let count = 1
- // Negative Numbers
- if (num < 0) {
- absoluteNum = Math.abs(num)
- isNegativeNum = true
- }
- absoluteNum = absoluteNum || num
- // Floating point numbers
- if (!Number.isInteger(absoluteNum)) {
- decimalNum = absoluteNum - Math.floor(absoluteNum)
- decimalNum = decimalNum.toString().slice(1)
- absoluteNum = Math.floor(absoluteNum)
- isFloatingNum = true
- }
- // Add the commas to the number
- let iteratableAbsoluteNum = absoluteNum.toString()
- let len = iteratableAbsoluteNum.length
- for (let i = len - 1; i >= 0; i--) {
- formatedString = iteratableAbsoluteNum.charAt(i) + formatedString
- if (count % 3 === 0 && i != 0) {
- count = 0
- formatedString = ',' + formatedString
- }
- count++
- }
- if (isNegativeNum) {
- formatedString = '-' + formatedString
- }
- if (isFloatingNum) {
- formatedString = formatedString + decimalNum.toString()
- }
- console.log(formatedString)
- }
- formatNumber(100000) // "100,000"
- formatNumber(-1000) // "-1,000"
- formatNumber(-10.10) // "-10.09999999999999964"
- formatNumber(10.10) // "10.09999999999999964"
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement