전략편집기 수정
This commit is contained in:
@@ -1,27 +1,19 @@
|
||||
import React, { memo, useEffect, useRef, useState } from 'react';
|
||||
import type { ChangeDir, TickerData } from '../../hooks/useMarketTicker';
|
||||
|
||||
function toFiniteNumber(v: unknown): number | null {
|
||||
if (v == null || v === '') return null;
|
||||
const n = typeof v === 'number' ? v : Number(v);
|
||||
return Number.isFinite(n) ? n : null;
|
||||
}
|
||||
import { coerceFiniteNumber, safePercentFromRate, safeToFixed } from '../../utils/safeFormat';
|
||||
|
||||
function fmtKrw(price: number | null | undefined | unknown): string {
|
||||
const p = toFiniteNumber(price);
|
||||
const p = coerceFiniteNumber(price);
|
||||
if (p == null) return '-';
|
||||
if (p >= 1_000_000) return p.toLocaleString('ko-KR', { maximumFractionDigits: 0 });
|
||||
if (p >= 1_000) return p.toLocaleString('ko-KR', { maximumFractionDigits: 0 });
|
||||
if (p >= 1) return p.toLocaleString('ko-KR', { maximumFractionDigits: 2 });
|
||||
if (p >= 0.01) return p.toFixed(4);
|
||||
return p.toFixed(8);
|
||||
if (p >= 0.01) return safeToFixed(p, 4, '-');
|
||||
return safeToFixed(p, 8, '-');
|
||||
}
|
||||
|
||||
function fmtPct(rate: number | null | undefined | unknown): string {
|
||||
const r = toFiniteNumber(rate);
|
||||
if (r == null) return '-';
|
||||
const sign = r >= 0 ? '+' : '';
|
||||
return `${sign}${(r * 100).toFixed(2)}%`;
|
||||
return safePercentFromRate(rate, 2).replace('—', '-');
|
||||
}
|
||||
|
||||
const ChangeArrow = memo(function ChangeArrow({ change }: { change: ChangeDir }) {
|
||||
|
||||
Reference in New Issue
Block a user