예시로 사용할 문자열은 다음과 같습니다.
const a = "250,5";
쉼표(,) 뒤의 숫자가 한 자릿수라면 그 뒤에 0을 붙여야 합니다. 즉, "250,5"는 "250,50"으로 변환되어야 합니다.
또한 문자열에 쉼표가 두 개 이상 포함되어 있다면 -1을 반환해야 합니다.
이 작업은 split()과 replace() 함수를 조합하면 간단하게 처리할 수 있습니다. 아래 예제를 통해 확인해 보겠습니다.
예제
const a = "250,5";
const roundString = (str) => {
if(str.split(",").length > 2){
return -1;
}
return str.replace(`,${str.split(",")[1]}`, `,${str.split(",")[1]}0`);
}
console.log(roundString(a));출력 결과
위 코드를 실행하면 콘솔에 다음과 같은 결과가 출력됩니다.
250,50
동작 원리
split(",")를 호출하면 문자열이 쉼표를 기준으로 나뉜 배열이 반환됩니다. 이 배열의 길이가 3 이상이라면 쉼표가 두 개 이상 존재한다는 의미이므로 -1을 반환합니다.
그렇지 않은 경우에는 템플릿 리터럴과 함께 replace()를 사용하여 ",5"를 ",50"으로 바꿈으로써, 한 자릿수인 소수 부분 뒤에 0을 손쉽게 덧붙일 수 있습니다.