Ukuran file dapat di ekspresikan dalam satuan Byte, Kilo Byte, Mega Byte, dan seterusnya. Pada saat kita membaca sebuah file, maka ukuran yang dapat kita peroleh adalah dalam jumlah byte yang dimiliki oleh file tersebut. Terkadang kita ingin menampilkan ukuran file kepada pengguna dalam bentuk terformat rapi entah itu dalam satuan KB, MB dan seterusnya. Pada artikel kali ini akan dibahas contoh memformat ukuran file menggunakan Javascript.
Kode fungsi format size :
<script>
function format_file_size(numberOfBytes)
{
const units = ["B","KB","MB","GB","TB","PB","EB","ZB","YB"];
var exponent = Math.min(Math.floor(Math.log(numberOfBytes) / Math.log(1024)), units.length - 1);
var approx = numberOfBytes / 1024 ** exponent;
var output = exponent === 0 ? `${numberOfBytes} bytes` : `${approx.toFixed(2)} ${units[exponent]} (${numberOfBytes} bytes)`;
return output;
}
</script>
Untuk menggunakan fungsi diatas cukup memanggil nama fungsi dan menyertakan argumen ukuran file dalam byte ke parameter numberOfBytes, berikut contohnya :
var number_of_bytes = 21884;
var formatted_size = format_file_size(number_of_bytes);
Sebagai contoh, berikut script html sederhana untuk mendemokan fungsi javascript format file size :
<!DOCTYPE html>
<html>
<body>
<h2>Format File Size Example</h2>
<p>This example use 21884 byte as input. The result is : </p>
<p id="demo"></p>
<script>
function format_file_size(numberOfBytes)
{
const units = ["B","KB","MB","GB","TB","PB","EB","ZB","YB"];
var exponent = Math.min(Math.floor(Math.log(numberOfBytes) / Math.log(1024)), units.length - 1);
var approx = numberOfBytes / 1024 ** exponent;
var output = exponent === 0 ? `${numberOfBytes} bytes` : `${approx.toFixed(2)} ${units[exponent]} (${numberOfBytes} bytes)`;
return output;
}
var number_of_bytes = 21884;
var formatted_size = format_file_size(number_of_bytes);
document.getElementById('demo').innerHTML=formatted_size;
</script>
</body>
</html>
adapun output dari contoh diatas adalah :
Format File Size ExampleThis example use 21884 byte as input. The result is : 21.37 KB (21884 bytes) |
Sekian dulu tutorial kali ini, semoga bermanfaat, stay tuned.. 😄