이번에는 Number 객체의 두 가지 유용한 메서드인 toString()
과 toLocaleString()
에 대해 배워보겠습니다. 두 가지 방법의 기본 사용법은 숫자를 문자열로 변환하는 것입니다. 다음을 보세요:
var num=111;
var a=num.toString(),
b=num.toLocaleString(),
c=num+""
console.log([a,b,c]) // 세 변수들을 배열에 담으면, 작은 따옴표을 볼 수 있습니다.
// output: [ '111', '111', '111' ]
숫자를 문자열 표현으로 변환하려는 경우 일반적으로 이러한 방식으로 얻은 결과가 동일하다는 것을 알 수 있습니다. 저는 게으르기때문에 마지막 방식을 사용하는 것을 좋아합니다 ;-)
하지만, 이 두 가지 방법은 다른 용도로도 사용됩니다.
toLocaleString()
을 사용하면 숫자를 문자열로 변환했습니다. 얻은 결과는 로컬 숫자 형식의 순서입니다.
let num = 123456789
console.log(num.toLocaleString()); // '123,456,789'
그리고 Number 객체의 toString()
은 더 특별한 용도로 사용됩니다. 기본 출력에 따라 다른 문자열이 사용됩니다.
NumberObject.toString(radix)
radix
는 선택적 매개 변수입니다. 이것을 무시하면 출력은 기본 십진수(decimal)가됩니다. 그렇지 않은 경우 다음과 같습니다:
var num=111;
var a=num.toString(2),
b=num.toString(8),
c=num.toString(16),
console.log([a,b,c])
//output: [ '1101111', '157', '6f' ]
각 변수들은 2진수, 8진수 및 16진수로 변환됩니다.
자, 수업은 여기까지입니다. Number .toString()
으로 문제를 풀어보세요.
colorOf
함수는r, g, b
라는 3개의 매개 변수를 받아들입니다. 이 매개 변수들은 빨간색,녹색 그리고 파란색의 색상 값을 의미합니다. 값의 범위는 0-255입니다.
toString(16)
을 사용해서 r, g, b
숫자를 16진수 문자열 형식으로 변환하세요. 마지막으로 그것들을 웹 색상 코드에 결합하여 반환하세요.
색상 코드는 "#"로 시작해야합니다. 그런 다음 색상 당, 2개의 문자를 사용하세요.
예시:
colorOf(255,0,0) should return "#ff0000"
colorOf(0,111,0) should return "#006f00"
colorOf(1, 2 ,3) should return "#010203"
function colorOf(r,g,b){
//coding here
}
function colorOf(r,g,b){
let red = r.toString(16);
let green = g.toString(16);
let blue = b.toString(16);
red = red.length < 2 ? '0' + red : red;
green = green.length < 2 ? '0' + green : green;
blue = blue.length < 2 ? '0' + blue : blue;
let color = '#' + red + green + blue;
return color
}
const colorOf = (...rgb) => '#' + rgb.map(x => `0${x.toString(16)}`.slice(-2)).join('')
function colorOf(r,g,b){
var f = function (x) {
return (x<16 ? '0' : '') + x.toString(16)
};
return "#" + f(r) + f(g) + f(b);
}
function colorOf(r,g,b)
{
return "#" + toHex(r)+ toHex(g)+ toHex(b);
}
function toHex(n)
{
var result = n.toString(16);
return result.length == 1 ? "0" + result : result;
}