Get the right unit prefix like kilo of mega for a certain bit or byte amount.
If you want to convert a number of bits or bytes to a readable notation,
like 18248932
to "17.4 MB"
.
$ npm install kilomega
You can include kilomega in three different ways:
- For browsers, when you use a bundler:
import { kilomega } from 'kilomega';
- For browsers, without the need to build or install kilomega:
const { kilomega } = await import('https://cdn.jsdelivr.net/gh/edwinm/[email protected]/kilomega.js');
See dynamic-import.js in the example directory.
- Or, for use in Node.js:
const { kilomega } = require('kilomega');
See example.js in the example directory.
Then call the kilomega function:
const result = kilomega(489382653442);
// result is: {
// amount: 455.7731127757579,
// iecPrefix: "gibi",
// iecSymbol: "Gi",
// prefix: "giga",
// symbol: "G",
// }
(489382653442 bytes is 455.77 gigabytes)
A complete practical example with number formatting for the specified locale (en-US) and with a specified number of digits (3):
const { kilomega } = require("kilomega");
function displayAmount(bytes) {
const bytesize = kilomega(bytes);
const intl = new Intl.NumberFormat("en-US", { maximumSignificantDigits: 3 });
return `${intl.format(bytesize.amount)} ${bytesize.symbol}B`;
}
const result = displayAmount(28946022);
//=> 27.6 MB
(28946022 bytes is 27.6 megabytes)
Returns an with the converted amount and corresponding prefixes.
Type: number
The number of bits or bytes.
Type: { amount: number; iecPrefix: string; iecSymbol: string; prefix: string; symbol: string; }
The converted amount and the corresponding IS and IEC prefixes.
npm test
MIT © 2023 Edwin Martin