export function formatBalance(amount: MaybeRefOrGetter, locale: Intl.LocalesArgument = "en-US"): string { let value = toValue(amount); if (!value) { value = 0; } if (typeof value === "string" && Number.isNaN(Number(value))) { value = 0; } return value.toLocaleString(locale, { minimumFractionDigits: 0, maximumFractionDigits: 2 }); } export function timeToLocal(originalTime: number) { const d = new Date(originalTime * 1000); return Date.UTC(d.getFullYear(), d.getMonth(), d.getDate(), d.getHours(), d.getMinutes(), d.getSeconds(), d.getMilliseconds()) / 1000; } export function formatAmount(amount: MaybeRefOrGetter): string { const value = toValue(amount); if (Number.isNaN(Number(value))) { return "0"; } const num = Number(value); // 不超过1万,原样显示 if (num < 10000) { return String(num); } // 1亿以上,显示为xx亿 if (num >= 100000000) { const yi = (num / 100000000).toFixed(1); return yi.endsWith(".0") ? `${Number.parseInt(yi)}亿` : `${yi}亿`; } // 1万到1亿,显示为xx万 if (num >= 10000) { const wan = (num / 10000).toFixed(1); return wan.endsWith(".0") ? `${Number.parseInt(wan)}万` : `${wan}万`; } return String(num); }