μ κ³±κ·Ό κ°μ μμμ λ μ리κΉμ§ 리ν΄νκΈ° : feat. λ°λΉλ‘λμ λ²μ μ νμ, parseInt( )μ Number( )μ μ°¨μ΄
π λ¬Έμ
μλ₯Ό μ λ ₯λ°μ μ κ³±κ·Ό κ°μ μμμ λ μ리κΉμ§ 리ν΄ν΄μΌ ν©λλ€.
β οΈ μ£Όμμ¬ν
Math.sqrt μ¬μ©μ κΈμ§λ©λλ€.
βπ» λ΄ νμ΄
function computeSquareRoot(num) {
// pseudo code
// let originNum = 9;
// let approxNum = originNum / 2;
// while((approxNum * 2) !== originNum){
// approxNum = (approxNum + (originNum / approxNum) / 2)
// }
let approxNum = num / 2;
while((approxNum ** 2) !== num){
if(Number((approxNum ** 2).toFixed(2)) === num) {
break;
}
approxNum = (approxNum + (num / approxNum)) / 2;
}
return Number(approxNum.toFixed(2));
}
βπ» λ λ€λ₯Έ νμ΄
function computeSquareRoot(num) {
const diffs = [1, 0.1, 0.01, 0.001];
let base = 1;
for (let i = 0; i < diffs.length; i++) {
while (base * base < num) {
base = base + diffs[i];
}
if (base * base === num) {
return base;
} else {
base = base - diffs[i];
}
}
return Number(base.toFixed(2));
}
π‘ μμλλ©΄ μ’μ κ°λ
λ°λΉλ‘λμ λ²μ μ νμ
Xnμ λ§κ·Έλλ‘ κ·Όμ¬κ°μ΄κΈ° λλ¬Έμ, Sμ 루νΈλ₯Ό μμ΄ κ°μ κ°μ₯ κ°κΉμΈ κ²μ΄λΌ μκ°νλ κ·Όμ¬κ°μ λ£μ΄μ£Όλ©΄ λλ€. μ΄λ€ κ°μ λ£λ μ§ μ νμμ λ°λ³΅νλ€λ³΄λ©΄ κ²°κ΅ Xn+1μ΄ Sμ μ κ³±κ·Όμ κ·Όμ νλ μκ°μ΄ μ¨λ€.
// psuedo code
let κ·Όμ¬κ° = μλ μ«μ / 2;
while((κ·Όμ¬κ°**2) !== μλμ«μ) {
κ·Όμ¬κ° = (κ·Όμ¬κ° + (μλμ«μ / κ·Όμ¬κ°) / 2
}
*μ **μ μ°¨μ΄μ
2*3 = 6 // 2 κ³±νκΈ° 3
2**3 = 8 // 2μ 3μΉ
μμμ μ리μ
toFixed( ) λ©μλλ μμμ nμ리 μκΉμ§ λνλλ€.
var numObj = 12345.6789;
numObj.toFixed(); // '12346': λ°μ¬λ¦Όνλ©°, μμ λΆλΆμ λ¨κΈ°μ§ μμ
numObj.toFixed(1); // '12345.7': μμμ 1μ리κΉμ§ λ¨κΈ°κ³ λ°μ¬λ¦Ό
numObj.toFixed(6); // '12345.678900': λΉ κ³΅κ°μ 0μΌλ‘ μ±μ
Number ( )
Number( ) λ JavaScript νμ€ λ΄μ₯ κ°μ²΄λ‘μ, ν¨μλ‘ μ¬μ©νλ©΄ λ¬Έμμ΄μ΄λ λ€λ₯Έ κ°μ Numberνμ μΌλ‘ λ³ννλ€. λ§μ½ μ«μλ‘ λ³νν μ μμΌλ©΄ NaNμ 리ν΄νλ€.
Number('123'); // μ«μ 123μ λ°ν
Number('123'); === 123; // true
Number('ella'); // NaN
Number(undefined); // NaN
// μΆκ°: parseInt()μμ μ°¨μ΄λ?
// parseInt(): λ¬Έμμ΄μμ μ μλ§ λ½μμ λ³ν
// Number(): λ¬Έμμ΄ μ μ²΄κ° μ«μμΌ λ μμμ κΉμ§ μ«μ νμ
μΌλ‘ λ°ν
let year = '2023λ
λ'
parseInt(year); // 2023
Number(year); // NaN
let year = 'μ΄μ 2023λ
λ'
parseInt(year); // NaN
Number(year); // NaN
let year = '2023.123';
parseInt(year); // 2023
Number(year); // 2023.123
π©π»π» λ°°μ΄ μ
μ΄λ² ν λ¬Έμ μμ λ°°μ΄ κ°λ , λ€μ νλ² μ΅ν κ°λ μ΄ μ λ§ λ§λ€. λΉμ·ν΄ 보μ΄λ λ©μλλΌλ μν©μ λ°λΌ λ€λ₯΄κ² μ¬μ©λ μ μκΈ°μ μ¬μν μ°¨μ΄λΌλ μ μμλμ΄μΌκ² λ€κ³ μκ°νλ€.
π μ°Έκ³ μλ£
- Blog: parseInt()μ Number()μ μ°¨μ΄
- Blog: μλ°μ€ν¬λ¦½νΈ Math.sqrt( ) μ¬μ©νμ§ μκ³ μ κ³±κ·Ό ꡬνκΈ°