주가 표시형식 수정
This commit is contained in:
@@ -7,7 +7,7 @@ import { getKoreanName } from '../utils/marketNameCache';
|
||||
import { MarketSearchPanel } from './MarketSearchPanel';
|
||||
import type { TradeOrderFillRequest } from '../types';
|
||||
import { placePaperOrder } from '../utils/backendApi';
|
||||
import { coerceFiniteNumber } from '../utils/safeFormat';
|
||||
import { coerceFiniteNumber, formatUpbitKrwPrice, upbitKrwTickSize } from '../utils/safeFormat';
|
||||
|
||||
export type OrderKind = 'limit' | 'market' | 'stop_limit';
|
||||
|
||||
@@ -39,7 +39,7 @@ export interface TradeOrderPanelProps {
|
||||
|
||||
export function fmtKrw(n: number): string {
|
||||
if (!Number.isFinite(n)) return '0';
|
||||
return Math.round(n).toLocaleString('ko-KR');
|
||||
return formatUpbitKrwPrice(n, '0');
|
||||
}
|
||||
|
||||
function parseNum(s: string): number {
|
||||
@@ -47,11 +47,19 @@ function parseNum(s: string): number {
|
||||
return Number.isFinite(v) ? v : 0;
|
||||
}
|
||||
|
||||
/** KRW 가격: 숫자만 허용, 천 단위 쉼표 표시 */
|
||||
/** KRW 가격: 숫자·소수점(필요 시)만 허용, 업비트 규칙으로 표시 */
|
||||
function sanitizePriceInput(raw: string): string {
|
||||
const digits = raw.replace(/\D/g, '');
|
||||
if (!digits) return '';
|
||||
return Number(digits).toLocaleString('ko-KR');
|
||||
const cleaned = raw.replace(/[^\d.]/g, '');
|
||||
if (!cleaned) return '';
|
||||
const n = Number(cleaned);
|
||||
if (!Number.isFinite(n)) return '';
|
||||
return formatUpbitKrwPrice(n, cleaned);
|
||||
}
|
||||
|
||||
/** 현재 가격에 맞는 호가 단위만큼 증감 */
|
||||
export function stepPriceByTick(price: number, direction: 1 | -1): number {
|
||||
const tick = upbitKrwTickSize(price);
|
||||
return Math.round((price + direction * tick) / tick) * tick;
|
||||
}
|
||||
|
||||
/** 주문 수량: 숫자와 소수점(1개)만 허용 */
|
||||
|
||||
Reference in New Issue
Block a user