精度问题

This commit is contained in:
whitechiina 2026-06-24 16:30:13 +08:00
parent 18fb11b398
commit 4b4f852afe
5 changed files with 19 additions and 23 deletions

View File

@ -245,7 +245,7 @@ export default {
return this.formatAmount(this.selectedTotal); return this.formatAmount(this.selectedTotal);
}, },
transferPointEstimate() { transferPointEstimate() {
return this.selectedItems.reduce( return this.selectedItems.reduce(
(total, item) => total + Number(item.transferPointValue || 0), (total, item) => total + Number(item.transferPointValue || 0),
0, 0,
); );
@ -263,7 +263,6 @@ export default {
if (!this.selectableFilteredItems.length) { if (!this.selectableFilteredItems.length) {
return false; return false;
} }
return this.selectableFilteredItems.every( return this.selectableFilteredItems.every(
(item) => this.selectedIds.indexOf(item.id) > -1, (item) => this.selectedIds.indexOf(item.id) > -1,
); );
@ -351,23 +350,20 @@ export default {
return mergedList; return mergedList;
}, },
formatAmount(value) { formatAmount(value) {
const number = Number(value || 0); const number = Number(value || 0);
if (!Number.isFinite(number)) { if (!Number.isFinite(number)) {
return "0.00"; return "0.00";
} }
// //
const truncated = Math.floor(number * 100) / 100; const truncated = Math.floor(Number((number * 100).toFixed(10))) / 100;
// const formatted = truncated.toFixed(2);
const formatted = truncated.toFixed(2); const parts = formatted.split(".");
const integerPart = parts[0].replace(/\B(?=(\d{3})+(?!\d))/g, ",");
// const decimalPart = parts[1];
const parts = formatted.split(".");
const integerPart = parts[0].replace(/\B(?=(\d{3})+(?!\d))/g, ","); return integerPart + "." + decimalPart;
const decimalPart = parts[1];
return integerPart + "." + decimalPart;
}, },
switchRange(nextRangeKey) { switchRange(nextRangeKey) {
const targetRangeKey = String(nextRangeKey || ""); const targetRangeKey = String(nextRangeKey || "");
@ -456,7 +452,7 @@ export default {
}, },
requestOptions, requestOptions,
); );
const incomingItems = Array.isArray(result.items) ? result.items : []; const incomingItems = Array.isArray(result.items) ? result.items : [];
const previousCount = this.items.length; const previousCount = this.items.length;
const mergedItems = isLoadMore const mergedItems = isLoadMore

View File

@ -1,2 +1,2 @@
<!DOCTYPE html><html lang=zh-CN><head><meta charset=utf-8><meta http-equiv=X-UA-Compatible content="IE=edge"><title>白马交易所</title><script>var coverSupport = 'CSS' in window && typeof CSS.supports === 'function' && (CSS.supports('top: env(a)') || CSS.supports('top: constant(a)')) <!DOCTYPE html><html lang=zh-CN><head><meta charset=utf-8><meta http-equiv=X-UA-Compatible content="IE=edge"><title>白马交易所</title><script>var coverSupport = 'CSS' in window && typeof CSS.supports === 'function' && (CSS.supports('top: env(a)') || CSS.supports('top: constant(a)'))
document.write('<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0' + (coverSupport ? ', viewport-fit=cover' : '') + '" />')</script><link rel=stylesheet href=/bmt/static/index.883130ca.css></head><body><noscript><strong>Please enable JavaScript to continue.</strong></noscript><div id=app></div><script src=/bmt/static/js/chunk-vendors.a58c62f3.js></script><script src=/bmt/static/js/index.3acd0820.js></script></body></html> document.write('<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0' + (coverSupport ? ', viewport-fit=cover' : '') + '" />')</script><link rel=stylesheet href=/bmt/static/index.883130ca.css></head><body><noscript><strong>Please enable JavaScript to continue.</strong></noscript><div id=app></div><script src=/bmt/static/js/chunk-vendors.a58c62f3.js></script><script src=/bmt/static/js/index.59d49159.js></script></body></html>

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long