From faae31d7da8a863494e7d48d9af336b9005e2c73 Mon Sep 17 00:00:00 2001 From: krishna2323 Date: Thu, 5 Dec 2024 04:14:23 +0530 Subject: [PATCH] fix: Distance - No error when editing the default rate to 4 decimal places and creating a same one. Signed-off-by: krishna2323 --- src/libs/PolicyDistanceRatesUtils.ts | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/libs/PolicyDistanceRatesUtils.ts b/src/libs/PolicyDistanceRatesUtils.ts index 35149db7f4e7..64f430ddbc42 100644 --- a/src/libs/PolicyDistanceRatesUtils.ts +++ b/src/libs/PolicyDistanceRatesUtils.ts @@ -20,7 +20,10 @@ function validateRateValue( const errors: FormInputErrors = {}; const parsedRate = MoneyRequestUtils.replaceAllDigits(values.rate, toLocaleDigit); const decimalSeparator = toLocaleDigit('.'); - const ratesList = Object.values(customUnitRates).filter((rate) => currentRateValue !== rate.rate); + const ratesList = Object.values(customUnitRates) + .filter((rate) => currentRateValue !== rate.rate) + // eslint-disable-next-line @typescript-eslint/prefer-nullish-coalescing + .map((r) => ({...r, rate: parseFloat(Number(r.rate || 0).toFixed(10))})); // The following logic replicates the backend's handling of rates: // - Multiply the rate by 100 (CUSTOM_UNIT_RATE_BASE_OFFSET) to scale it, ensuring precision. // - This ensures rates are converted as follows: