본문 바로가기
 

하나성경

읽기 쉬운 성경, 하나성경을 소개합니다.

www.hbible.co.kr

컴퓨터에서는

[ 자바스크립트 ] 문자열과 숫자의 형식을 변경해 보았습니다.

by 컴 여행자 2025. 3. 31.
728x90
반응형

 

자바스크립트
자바스크립트

 

 

152518이라는 문자열을 시간 형식으로 변환해 보았습니다.

 

152518이라는 문자열을 시간 형식으로 변환하려면, 문자열을 적절히 분리하고 :를 추가하여 원하는 형식으로 표현할 수 있습니다.  

let a = '152518';

// 문자열을 시간 형식으로 변환
let formattedTime = a.slice(0, 2) + ':' + a.slice(2, 4) + ':' + a.slice(4);

console.log(formattedTime); // "15:25:18"

 

 

코드 설명

  1. a.slice(0, 2)는 문자열의 첫 두 글자(15)를 가져옵니다.
  2. a.slice(2, 4)는 세 번째와 네 번째 글자(25)를 가져옵니다.
  3. a.slice(4)는 다섯 번째 글자부터 끝까지(18)를 가져옵니다.
  4. 각 부분을 :로 연결하여 "15:25:18" 형식의 문자열을 만듭니다.

이 방법은 입력 문자열이 항상 6자리(시, 분, 초)라고 가정합니다. 입력 값이 다를 수 있다면 추가적인 유효성 검사를 추가해야 합니다.

 


 

숫자에 3자리마다 콤마(,)를 추가하려면 toLocaleString() 메서드를 사용하는 것이 가장 간단하고 효율적입니다. 아래는 b 변수의 값이 9798.00 또는 10929일 때 이를 숫자 형식으로 포맷팅하는 방법입니다.

let b1 = 9798.00;
let b2 = 10929;

// toLocaleString()을 사용하여 포맷팅
let formattedB1 = b1.toLocaleString('en-US');
let formattedB2 = b2.toLocaleString('en-US');

console.log(formattedB1); // "9,798"
console.log(formattedB2); // "10,929"
 

코드 설명

  1. toLocaleString() 메서드:
    • 숫자를 문자열로 변환하면서 3자리마다 콤마를 추가합니다.
    • 'en-US'를 인자로 전달하면 미국 스타일(콤마로 구분)을 따릅니다.
    • 소수점 이하 값도 자동으로 처리됩니다.
  2. 결과:
    • 9798.00은 "9,798"으로 포맷됩니다(소수점 이하가 0일 경우 생략).
    • 10929은 "10,929"으로 포맷됩니다.

주의사항

  • 소수점 이하 자릿수를 유지하고 싶다면 toFixed()와 함께 사용할 수 있습니다.
let formattedWithDecimals = b1.toFixed(2).toLocaleString('en-US');
console.log(formattedWithDecimals); // "9,798.00"

 

 

이 방법은 간단하고 locale-aware(지역화 지원) 기능도 제공하므로 다양한 숫자 포맷팅에 유용합니다.

 

 

추가 설명

toLocaleString() 메서드가 제대로 작동하지 않는다면 그 이유는 변수 b1과 b2가 문자열로 처리되고 있을 가능성이 있습니다. toLocaleString()은 숫자 타입에서만 작동하기 때문에, 먼저 문자열을 숫자로 변환해야 합니다.

아래는 수정된 코드입니다.

let b1 = '9798.00'; // 문자열로 저장된 숫자
let b2 = '10929';   // 문자열로 저장된 숫자

// 문자열을 숫자로 변환한 뒤 toLocaleString() 사용
let formattedB1 = parseFloat(b1).toFixed(2).toLocaleString('en-US');
let formattedB2 = parseInt(b2, 10).toLocaleString('en-US');

console.log(formattedB1); // "9,798.00"
console.log(formattedB2); // "10,929"
 
 

코드 설명

  1. parseFloat():
    • b1이 소수점이 포함된 문자열("9798.00")이므로 이를 숫자로 변환합니다.
    • parseFloat(b1)는 문자열을 실수(float)로 변환합니다.
  2. parseInt():
    • b2는 정수형 문자열("10929")이므로 이를 정수로 변환합니다.
    • parseInt(b2, 10)는 문자열을 정수로 변환하며, 두 번째 인자는 10진법을 지정합니다.
  3. toLocaleString():
    • 숫자로 변환된 값에 대해 3자리마다 콤마를 추가합니다.

결과

  • "9798.00" → "9,798.00"
  • "10929" → "10,929"

 

 

 

https://ecma-international.org/

 

Home - Ecma International

Ecma International is an industry association dedicated to the standardization of information and communication systems Ecma is driven by industry members to meet their needs, providing a healthy competitive landscape based on differentiation of products a

ecma-international.org

 

 

https://namu.wiki/w/JavaScript

 

JavaScript

Ecma International의 프로토타입 기반의 프로그래밍 언어 로, 스크립트 언어 에 해당된다. 특수한

namu.wiki

 

 

728x90
반응형

댓글