fix(core): 明细用量美元保留 6 位小数

This commit is contained in:
2026-10-09 13:42:13 +08:00
parent 29f5f4f84c
commit 31d963e956
4 changed files with 33 additions and 4 deletions
+9
View File
@@ -18,6 +18,15 @@ export function microUsdToQuotaUsdStr(micro: number): string {
return `${dollars}.${String(rem).padStart(2, "0")}`;
}
/** 明细行等小额场景:保留更多小数位(默认 4 位,仍是字符串两位小数契约的展示增强) */
export function microUsdToQuotaUsdStrPrecise(
micro: number,
fractionDigits = 4,
): string {
const usd = micro / 1_000_000;
return usd.toFixed(fractionDigits);
}
export function quotaToUsdStr(quota: number, qpu: number): string {
return microUsdToQuotaUsdStr(quotaToMicroUsd(quota, qpu));
}
+16
View File
@@ -3,6 +3,7 @@
*/
import {
microSumToUsdStr,
microUsdToQuotaUsdStrPrecise,
qpuAt,
quotaToMicroUsd,
quotaToUsdStr,
@@ -54,6 +55,21 @@ export function usageAt(
return { count: 1, quota, quota_usd: quotaToUsdStr(quota, qpu) };
}
/** 明细行:按当时 QPU 换算,展示保留 6 位小数(微美元级,小额不被抹成 0) */
export function usageRowPrecise(
quota: number,
created_at: Date | number,
timeline: readonly QpuPoint[],
): UsageSum {
const qpu = qpuAt(created_at, timeline);
const micro = quotaToMicroUsd(quota, qpu);
return {
count: 1,
quota,
quota_usd: microUsdToQuotaUsdStrPrecise(micro, 6),
};
}
export function addUsage(a: UsageSum, b: UsageSum): UsageSum {
// 合并已成形的两段时,quota_usd 需重算——调用方应尽量走 sumUsage
return {