This is a quick doodle you can use for formatting the integer. Like, 1000 or 1000003 or other positive large integer. Integer species, mind you. Not a number with decimal point.
Demo #1
For only positive integer and triggered using a click event
Maximum length of 16 digits. Like, single thousand trillion. Above that, the output will ignore the last digit. Above 21 figures, lulz, it will be totally screwed up and automatically compacted using
e+something
.Try it out!
☺ I'm gonna format your inpoot ☺
JavaScript
I use array
reverse()
method here because it's easier to count and append comma from the back rather than from the front. Then, after the appending, the array will be reversed back and joined.If you're new to JavaScript, here's the list of methods I use in here (you can dig more information about these from Mozilla Developers or W3Schools) :
- Declaring variables using
var
- Accessing the HTML element with a unique ID using
document.getElementById()
- Declaring click event trigger using
onclick
, continued by declaring thefunction
to be executed for that particular event. - Declaring the outside-the-trigger-and-reachable
function
, with particular name and usingargument
. Theargument
is the received value of the function. You can also declareparameter
(s) if you need to pass some variable(s) from another function(s). - Outputting/"printing" the result value in the HTML DOM using
innerHTML
- Declaring empty array using
[]
- Rounding down a number using
Math.floor()
- Convert number to string using
toString()
- Creating an array of "substrings" from a string using
split()
- Adding (or removing) array element(s) using
splice()
- Get the array's length using
length
- Reverse the order of an array using
reverse()
- Join the array elements into one string using
join("")
— without any separator. By default, using onlyjoin()
, the new combined string will have comma(s) as the element separator. - Looping using
for()
- Conditional statement(s) using
if{...}else{...}
- Returning "something" from a function using
return
, in this example I returned a value - Adding additional comments in JavaScript using
//
for single line, or/*...*/
for multiple lines. The comments won't be executed, they're just for comments of what's going on on that particular line(s) of method. Readability and maintainability purpose
Update: additional details.
Let's take a closer look at the sequence:for (var i = 1; i <= Math.floor(f.length / 4); i++) {The
 f.splice((4 * i - 1), 0, ",");
}splice()
method will remove 0 element, and instead, it will append the comma (",") at a particular index (4 * i - 1), for i = 1 to Math.floor(f.length / 4) times. The number series (the index series) from that will be: 3, 7, 11, 15, etc., depends on the length of the string.
The appending process:
For instance we have a number, 123456789. It has the length of 9 digits (elements). It will then be reversed to 987654321. Remember, the first array element index is 0. The number 9 there is at index 0.
So, then:Note: the loop stopping limit isn't a static value, therefore, you can make it as a variable inside the iteration. In my example above, I just put Math.floor(f.length / 4) as the limit.
- For i = 1, the comma will be appended at index 3 of 987654321, resulting : 987,654321. The length is now up by one to 10 elements.
- For i = 2, the comma will be appended at index 7.
Combined with the i = 1, resulting 987,654,321. The array length is now also up by one to 11 elements and the iteration is complete, because the stopping limit has already been reached. That is, Math.floor(11 / 4) = 2.
In conclusion, for this looping sequence, it sequentially appended two commas for 987654321.
Let's continue, after all the appending is done, the 987,654,321 will then be reversed to 123,456,789
And that's the super sweet result.
HTML Elements
With some inline CSS. Because this is a quick doodle, so quack, I didn't type proper CSS.
Basic Styling (CSS)
Additional CSS
I use that method for basic formatting a large number. Any number I got from anythong. Anything. So that it will be neater to look at.
Of course, there's a lot of other methods you can find on the internet. Mine here is a result of trial and error. Hehe.
Demo #2
For positive/negative integer and triggered using
input
eventSee the Pen Integer Formatter by Monkey Raptor (@monkeyraptor) on CodePen.
That's about it. Feel free to copy and perhaps you can add something else.
No comments:
Post a Comment
Tell me what you think...