Number
https://javascript.info/number
men raqamlarni bilardim db oylardim ammo hech narsani bilas ekanman ichida juda kop narsalar bor ekan unda birga organamiz
1-juda kop nol(0) ni yozishni qisqartirish
yaniy raqamni yozamiz keyin e va nechta 0 bolishi kkligi
2-endi shu amalni teskarisi yaniy 0 butun 0.00 bolganidachi
x=3,0012 => x=12e-4+3 ==12/10000+3
ammo bu holatlarda satr ichiga biror harf aralashib qolsa NaN qiymat qaytaradi ammo chet el valyutalarida 12$ db yozilgan holatga duch kelamiz buni esa tepadagi usullar bn amalga oshira olmaymiz yechim:
onli kasrlarni faqat butun qismini qaytaradi
4-usul parseFloat('12.4#39;) =>12.4
NaN===NaN false sababi NaN bu xatolik xatolik xatolikka teng bolmaydi logika jihatidan
ammo bazi hollarda qiymat NaN qaytarishini tekshirishimiz kk shu holatda
faqat raqamlikka tekshirish isFinite()
sabab barcha narsalar xotirada 2lik sanoq sistemasida saqlanadi
0.0001100110011001100110011001100110011001100110011001101
0.001100110011001100110011001100110011001100110011001101 ikkilik
eni shu ikkisini bir biriga qoshib keyin 2 lik sanoq sistemasiga aylantirsak natija
toFixed(n) n- nechtagacha yaxlitlashni bildiradi
1-usul toFixed yuqorida kordik
2-usul Math.floor(1.1) => 1 -1.1 => -2 3.1=>3 100.9 => 100
son oqida chapga qarab yaxlitlash
3-usul Math.ceil(3.1) => 4 -1.9=> -1 3.5=> 4
son oqida o`ngga qarab yaxlatlash
4-usul Math.round(3.1) => 3 3.5 => 4 3.4 => 3 3.9 => 4
0 dan keyingi keluvchi son 1-4 oraliqda bolsa sonning ozi qaytadi 5-9 oraliqda bolsa bitta kattasi
5-usul Math.trunc(1.1) => 1 1.9 => 1
hech qanday ozgarishsiz faqat butun qismini qaytaradi
sonlar ichidagi eng kattasini qaytaradi