1000000 to 1M and 1000 to 1K
or 10000 to 1P / 120,000 to 12P / 560,000 to 56P
Is it possible to convert it? using function
thanks
1000000 to 1M and 1000 to 1K
or 10000 to 1P / 120,000 to 12P / 560,000 to 56P
Is it possible to convert it? using function
thanks
There’s not a single magic function to do this, but you can set up a series of conditional cases using the same basic formula. (I checked Stack Overflow for how this would be done in “real” code like javascript, and the best solutions were functions that essentially took the same approach.)
The basic formula is to divide “millions” by “one million” and append an ‘M’, else divide “thousands” by “one thousand”, etc. Using your first example, this would need at least three conditional cases:
[[ (Value / 1000000).toFixed()]]M[[ (Value / 1000).toFixed()]]KNote: the .toFixed() function is not absolutely required, but it will keep the results to whole numbers, so values like, 1000 or 1200 or 1234 or 1000.00 would all result in “1K” instead of “1.234K”. You can change the precision, where .toFixed(1) would mean that 1000 = 1.0K, 1200 = 1.2K, 1234 = 1.2K, etc.
If you want 10000 to result in “1P” the expression (forumula) would be
[[ (Value / 10000).toFixed()]]P
However, if the source number contains commas those need to be stripped out first. It is weird, but Axure recognizes 1,000 as a number, but if you try to perform logic or math with it, it treats it like a string, not a number. So, “1,000” does not really equal “1000”. To convert this, you can use the .replace() function like so:
[[String.replace(',', '')]]
…which means “replace all commas with nothing”
Here is a little demo showing this in RP:
Convert numbers to abbreviations.rp (51.8 KB)
Thank you for your kind reply.
I will study hard and contribute to the Korean axure Community.