use truncation instead of rounding down or rounding to the nearest value when numerical calculations exceed precision limits

This commit is contained in:
MaysWind
2025-09-09 20:46:51 +08:00
parent d4603a1892
commit 7e2e1a4ad3
13 changed files with 36 additions and 36 deletions
@@ -181,7 +181,7 @@ export function useAccountBalanceTrendsChartBase(props: CommonAccountBalanceTren
const minimumBalance = Math.min(...dataItems.map(item => item.accountClosingBalance));
const maximumBalance = Math.max(...dataItems.map(item => item.accountClosingBalance));
const medianBalance = dataItems[Math.floor(dataItems.length / 2)].accountClosingBalance;
const averageBalance = Math.floor(sumAmounts(dataItems.map(item => item.accountClosingBalance)) / dataItems.length);
const averageBalance = Math.trunc(sumAmounts(dataItems.map(item => item.accountClosingBalance)) / dataItems.length);
if (props.account.isAsset) {
lastOpeningBalance = openingBalance;
@@ -243,7 +243,7 @@ const chartOptions = computed<object>(() => {
axisPointer: {
label: {
formatter: (params: CallbackDataParams) => {
return formatAmountToLocalizedNumeralsWithCurrency(Math.floor(params.value as number), props.account.currency);
return formatAmountToLocalizedNumeralsWithCurrency(Math.trunc(params.value as number), props.account.currency);
}
}
},
@@ -389,7 +389,7 @@ const chartOptions = computed<object>(() => {
axisPointer: {
label: {
formatter: (params: CallbackDataParams) => {
return formatAmountToLocalizedNumeralsWithCurrency(Math.floor(params.value as number), props.defaultCurrency);
return formatAmountToLocalizedNumeralsWithCurrency(Math.trunc(params.value as number), props.defaultCurrency);
}
}
},
+1 -1
View File
@@ -325,7 +325,7 @@ function confirm(): boolean {
finalValue = previous - current;
break;
case '×':
finalValue = Math.round(previous * current / 100);
finalValue = Math.trunc(previous * current / 100);
break;
default:
finalValue = previous;