User Rating 0.0 โ˜…โ˜…โ˜…โ˜…โ˜…
Total Usage 0 times
Quick Presets:
Enter a number and click Convert
All Scale Representations
TierMultiplierFormatted Value
Is this tool helpful?

Your feedback helps us improve.

โ˜… โ˜… โ˜… โ˜… โ˜…

About

Large and small numbers cause misreading errors. A value like 123456789 is easy to miscount by one order of magnitude, and the cost of that mistake in engineering or finance is real. This tool converts raw numeric values into human-readable scaled representations using the SI (International System of Units), Time (day, hour, minute, second, sub-second), and IEEE 1541 (binary powers of 1024) scales. It supports four rounding modes - ceil, floor, banker's even, and odd - and a recursive decomposition mode that breaks a number into multiple unit tiers (e.g., 1d 10h 17m). You can also define fully custom scales with arbitrary prefixes and base values.

The tool approximates values at the precision you choose. Rounding propagation across recursive tiers uses remainder subtraction, not independent rounding, so cumulative drift stays below 1 unit of the smallest tier. Note: the parser (reverse conversion) expects well-formed strings; ambiguous suffixes like m (milli vs. meter) resolve to the active scale context only.

number scale SI units human readable numbers number formatter unit converter IEEE 1541 time scale number decomposition

Formulas

The converter locates the largest scale tier whose absolute base value does not exceed the input magnitude, then divides:

result = roundmode(nbasetier, p)

Where n is the input number, basetier is the multiplier of the matched scale tier, and p is precision (decimal digits). Rounding modes operate on the shifted value v = n ร— 10p:

{
ceil(v) รท 10p if mode = UPfloor(v) รท 10p if mode = DOWNbankersRound(v) รท 10p if mode = EVENoddRound(v) รท 10p if mode = ODD

For recursive decomposition of depth d, the algorithm iterates: extract the integer portion at the current tier, subtract its contribution, descend to the next smaller tier, and repeat up to d + 1 terms. The last term receives the fractional remainder rounded at precision p.

Banker's rounding resolves the half-way case: if the digit immediately after the rounding position is exactly 5 with no further nonzero digits, the value rounds to the nearest even number. Odd rounding mirrors this toward the nearest odd number.

Reference Data

ScalePrefixSymbolMultiplier
SIyottaY1024
SIzettaZ1021
SIexaE1018
SIpetaP1015
SIteraT1012
SIgigaG109
SImegaM106
SIkiloK103
SI(base) - 100
SImillim10โˆ’3
SImicroฮผ10โˆ’6
SInanon10โˆ’9
SIpicop10โˆ’12
SIfemtof10โˆ’15
SIattoa10โˆ’18
SIzeptoz10โˆ’21
SIyoctoy10โˆ’24
Timedayd86400 s
Timehourh3600 s
Timeminutem60 s
Timeseconds1 s
Timemillisecondms10โˆ’3 s
Timemicrosecondฮผs10โˆ’6 s
Timenanosecondns10โˆ’9 s
IEEE 1541yobiYiB280
IEEE 1541zebiZiB270
IEEE 1541exbiEiB260
IEEE 1541pebiPiB250
IEEE 1541tebiTiB240
IEEE 1541gibiGiB230
IEEE 1541mebiMiB220
IEEE 1541kibiKiB210
IEEE 1541byteB20

Frequently Asked Questions

Standard rounding (mode "up") always rounds 0.5 upward. Banker's rounding (mode "even") rounds 0.5 to the nearest even digit. For example, 2.5 rounds to 2, while 3.5 rounds to 4. This eliminates systematic upward bias in large datasets. The "odd" mode mirrors this logic toward the nearest odd value: 2.5 becomes 3, 3.5 becomes 3.
The remainder is expressed in the smallest available tier of the active scale. For the Time scale, that is nanoseconds (ns). For SI, it is yocto (y, 10โˆ’24). If the remainder rounds to zero at the given precision, the tier is omitted from the output array.
IEEE 1541 defines binary prefixes (kibi, mebi, gibi) based on powers of 210 = 1024, matching how memory and storage hardware physically address data. The SI prefixes (kilo, mega, giga) use powers of 103 = 1000. Conflating the two produces a 7.4% error at the kibi level, growing to over 20% at the gibi level.
The parser resolves suffixes strictly within the active scale context. In SI mode, m maps to milli (10โˆ’3). In Time mode, m maps to minutes (60s). There is no cross-scale disambiguation. Always select the correct scale before parsing.
In the Custom Scale panel, add tiers as label-value pairs (e.g., "dozen" = 12, "gross" = 144). The tool sorts tiers by value descending. Constraints: values must be positive, finite numbers. Labels must be unique non-empty strings. A minimum of two tiers is required for meaningful conversion. The base tier (value 1) is added automatically if absent.
Precision ranges from 0 to 15 decimal places. JavaScript uses IEEE 754 double-precision floats, which provide about 15 - 17 significant digits total. For numbers exceeding 1015, requesting high decimal precision will produce trailing-digit artifacts. The tool caps effective precision at the float's representable range.