
/**
 * 금액 포맷 유틸리티
 */

// 금액을 한국 원화 형식으로 포맷팅
export const formatCurrency = (amount: number): string => {
  return amount.toLocaleString('ko-KR') + '원';
};

// 숫자 문자열에서 쉼표 제거
export const removeCommas = (value: string): string => {
  return value.replace(/,/g, '');
};

// 숫자 문자열에 쉼표 추가
export const addCommas = (value: string): string => {
  // 숫자 이외의 문자는 제거
  const numericValue = value.replace(/[^\d]/g, '');
  return numericValue.replace(/\B(?=(\d{3})+(?!\d))/g, ',');
};

// 금액 입력 값 포맷팅 (입력 필드용)
export const formatWithCommas = (value: string): string => {
  // 기존 쉼표 제거 후 다시 포맷팅
  return addCommas(removeCommas(value));
};

// 지출 비율 계산 함수 - 100% 제한 제거
export const calculatePercentage = (spent: number, target: number): number => {
  if (target === 0) return 0;
  return Math.round((spent / target) * 100); // 제한 제거 - 100%를 초과할 수 있음
};
