/** 后端/API 存小数（0.01 = 1%），后台 UI 用百分比（1 = 1%） */

export function decimalRateToPercent(value: string | number | null | undefined): number {
  const n = typeof value === 'number' ? value : parseFloat(String(value ?? '0'));
  if (!Number.isFinite(n)) return 0;
  return Math.round(n * 10000) / 100;
}

export function percentToDecimalRate(percent: string | number | null | undefined): number {
  const n = typeof percent === 'number' ? percent : parseFloat(String(percent ?? '0'));
  if (!Number.isFinite(n) || n <= 0) return 0;
  return Math.round(n * 100) / 10000;
}

export function formatRatePercent(value: string | number | null | undefined): string {
  const n = typeof value === 'number' ? value : parseFloat(String(value ?? ''));
  if (!Number.isFinite(n)) return '—';
  return `${(n * 100).toFixed(2)}%`;
}
