diff --git a/frontend/app/trades/page.tsx b/frontend/app/trades/page.tsx
index 200cfd7..06c2bf5 100644
--- a/frontend/app/trades/page.tsx
+++ b/frontend/app/trades/page.tsx
@@ -32,6 +32,12 @@ interface SummaryBar {
type Symbol = "BTC" | "ETH" | "XRP" | "SOL";
type Interval = "1m" | "5m" | "15m" | "1h";
+// 价格格式化:<100显示4位小数,>=100显示1位
+function fmtPrice(p: number): string {
+ const digits = p < 100 ? 4 : 1;
+ return p.toLocaleString("en-US", { minimumFractionDigits: digits, maximumFractionDigits: digits });
+}
+
const INTERVALS: { label: string; value: Interval }[] = [
{ label: "1m", value: "1m" },
{ label: "5m", value: "5m" },
@@ -117,7 +123,7 @@ function LiveTrades({ symbol }: { symbol: Symbol }) {
{trades.map(t => (
|
- {t.is_buyer_maker === 0 ? "▲" : "▼"} {t.price.toLocaleString("en-US", { minimumFractionDigits: 1, maximumFractionDigits: 1 })}
+ {t.is_buyer_maker === 0 ? "▲" : "▼"} {fmtPrice(t.price)}
|
{t.qty >= 1000 ? `${(t.qty/1000).toFixed(2)}K` : t.qty.toFixed(symbol === "BTC" ? 4 : 3)}
@@ -273,12 +279,12 @@ function FlowAnalysis({ symbol }: { symbol: Symbol }) {
{/* 右轴:价格,自适应波动范围 */}
v >= 1000 ? `$${(v/1000).toFixed(1)}k` : `$${v.toFixed(0)}`}
+ tickFormatter={(v: number) => v >= 1000 ? `$${(v/1000).toFixed(1)}k` : `$${fmtPrice(v)}`}
/>
{
- if (name === "price") return [`$${Number(v).toLocaleString("en-US", { minimumFractionDigits: 1, maximumFractionDigits: 1 })}`, "币价(VWAP)"];
+ if (name === "price") return [`$${fmtPrice(Number(v))}`, "币价(VWAP)"];
return [`${Number(v).toFixed(2)}`, "Delta"];
}}
contentStyle={{ background: "#fff", border: "1px solid #e2e8f0", borderRadius: 8, fontSize: 11 }}
|