Skip to content

NumberCell 숫자 포맷 셀

NumberCell 은 숫자 값을 읽기 쉬운 텍스트로 포맷하는 내장 표시 전용 셀입니다. 소수점 자릿수, 천 단위 구분 기호, 접두사·접미사, 부호 표시, 백분율, 단위 축약(만/억, K/M/B), 빈 값 플레이스홀더를 지원합니다. 시세, 금액, 통계 데이터 표시에 자주 사용됩니다.

기본 사용법

createNumberCell 팩토리 함수로 NumberCell 컴포넌트를 생성하여 customCell 로 사용합니다. 숫자 정렬은 열에 align: 'right' 를 설정하는 것을 권장합니다.

loading
ts
const { NumberCell } = createNumberCell({ decimals: 2 });

const columns = [
    { title: '현재가', dataIndex: 'price', align: 'right', customCell: NumberCell },
];

열마다 다른 포맷

createNumberCell 은 하나의 포맷을 고정합니다. 열마다 다른 포맷(예: 가격은 소수 2자리, 거래량은 만 단위 축약)이 필요하면 여러 인스턴스를 만들면 됩니다.

설정 옵션

createNumberCell 은 설정 객체 CreateNumberCellOptions(FormatNumberOptions 와 동일)를 받습니다:

속성타입기본값설명
decimalsnumber-소수점 자릿수(반올림). 생략하면 소수를 처리하지 않음
thousandsbooleantrue천 단위 구분 기호 사용 여부
prefixstring''접두사(예: ¥, $)
suffixstring''접미사(예: , )
showSignbooleanfalse양수에 + 부호 강제 표시 여부(음수는 항상 -)
percentbooleanfalse백분율 모드: 값 ×100 후 % 추가. abbr 와 배타적
abbr'cn' | 'en'-단위 축약: cn=만/억, en=K/M/B. percent 와 배타적
abbrDecimalsnumber2축약 후 유지할 소수 자릿수
placeholderstring'--'빈 값(null/undefined/'') 또는 비숫자일 때의 플레이스홀더

단위 축약

abbr 는 자릿수에 따라 값을 축약하고 단위를 추가합니다:

  • abbr: 'cn': 1억 이상은 , 1만 이상은 으로 표시(예: 123451.23만, 1234567891.23억)
  • abbr: 'en': K(천) / M(백만) / B(십억)로 축약(예: 15001.50K, 25000002.50M)

축약 후 소수 자릿수는 abbrDecimals(기본 2)로 제어합니다.

formatNumber

포맷 로직은 순수 함수 formatNumber(value, options) 로 제공되며 함께 내보내집니다. 셀 외부(합계 행, 툴팁 등)에서도 직접 재사용할 수 있습니다:

ts
import { formatNumber } from 'stk-table-svelte';

formatNumber(1234567.891, { decimals: 2 }); // '1,234,567.89'
formatNumber(0.0523, { percent: true, decimals: 2, showSign: true }); // '+5.23%'

MIT 라이선스에 따라 공개되었습니다