Number Metotları

Basamak Sınırlama

.toFixed() | .toPrecision()

Ondalık gösterimlerdeki hataları çözmek için .toFixed() metodu ile ondalık basamağı sınırlayabiliriz. Örnek.

let sayi1 = 0.1;
let sayi2 = 0.2;
let toplam = (sayi1 + sayi2).toFixed(2);
alert(toplam); // 0.30 Çıktısı alınır.
toplam = (sayi1 + sayi2).toFixed(4);
alert(toplam); // 0.3000 Çıktısı alınır.

Bu metot ile parametre olarak verdiğiniz sayı kadar ondalık basamak kadar sayı ele alınır. Eğer sayının olduğundan daha fazla basamak verirseniz 0 (sıfır) ekleyerek istediğiniz basamak sayısına sabitler. .toFixed() metodunun string tipinde değer döndürdüğünü unutmayınız.

Genel olarak sayıların basamak sayısını sınırlamak için .toPrecision() metodu kullanılır.

let sayi1 = 1234.5678;
alert( sayi1.toPrecision(6) ); //1234.57 çıktısı alınır. Son basamağı yuvarlar.
alert( sayi1.toPrecision(4) ); //1234 çıktısı alınır. Son basamağı yuvarlar.

sayi1 = 123456789;
alert( sayi1.toPrecision(6) ); //1.23457e+8 çıktısı alınır. Son basamağı yuvarlar.
alert( sayi1.toPrecision(4) ); //1.235e+8 çıktısı alınır. Son basamağı yuvarlar.

.toPrecision() ile basamak sınırlarken soldan başlar ve verilen parametre kadar basamağı alır. Örneğin 1234'ün ilk iki basamağını alırsak 1200 olduğu için 1.2e+3 olarak yuvarlar. Tam sayılarda sayının birler basamağına kadar olan kısmını almıyorsanız genellikle e (exponent) ile gösterim yapar.

Sayı Sistemlerini Çevirme

.toString()

Sayı sistemlerini (16-10-8-2 vb.) birbirine .toString() metodu ile çevirebiliriz. Örnek.

let sayi = 123456789;
let binary = 1001000111;
alert( sayi.toString(2) );
alert( binary.toString(10) );

alert( binary.toString(16) );
alert( sayi.toString(8) );
alert( sayi.toString(5) );

Bir sayı doğrudan da .toString() metodu ile çevrilebilir fakat ondalıklı sayılarda hata almamak için parantez içine almak veya çift nokta kullanmak gerekir.

alert( 1234.toString(2) );
alert( (1234.2).toString(2) );
alert( 1234.2..toString(2) );

.toString() metodu ile elde edilen veri tipi string olur. Dolayısıyla matematiksel işlemlerde kullanmak için number tipine dönüştürülmesi gerekir.

Last updated