crypto.ts 871 B

12345678910111213141516171819202122232425262728
  1. export function formatPrice(price: number): string {
  2. if (price >= 1000) {
  3. return price.toLocaleString('ko-KR', { maximumFractionDigits: 0 });
  4. }
  5. if (price >= 1) {
  6. return price.toLocaleString('ko-KR', { maximumFractionDigits: 2 });
  7. }
  8. if (price >= 0.01) {
  9. return price.toLocaleString('ko-KR', { maximumFractionDigits: 4 });
  10. }
  11. return price.toLocaleString('ko-KR', { maximumFractionDigits: 8 });
  12. }
  13. export function formatChangeRate(rate: number): string {
  14. const pct = (rate * 100).toFixed(2);
  15. return rate >= 0 ? `+${pct}%` : `${pct}%`;
  16. }
  17. export function getChangeClass(change: string): string {
  18. if (change === 'RISE') return 'up';
  19. if (change === 'FALL') return 'down';
  20. return 'neutral';
  21. }
  22. export function formatVolumeMillions(volume: number): string {
  23. const millions = Math.floor(volume / 1_000_000);
  24. return millions.toLocaleString('ko-KR') + '백만';
  25. }