Skip to content

Commit eda8c5a

Browse files
authored
fix: percents incorrectly formatted for locale ru (#2939)
1 parent 097aabe commit eda8c5a

File tree

1 file changed

+6
-6
lines changed

1 file changed

+6
-6
lines changed

src/utils/dataFormatters/dataFormatters.ts

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -160,13 +160,13 @@ export const formatPercent = (number?: unknown, precision = 2) => {
160160
return '';
161161
}
162162

163-
// Numeral doesn't work well with very low numbers (for example 2e-27)
164-
// We can receive such numbers from backend in float fields
165-
// So we need apply toFixed before configuration
166-
const preparedNumber = Number(number).toFixed(precision);
167-
const configuredNumber = configuredNumeral(preparedNumber);
163+
// Round precision for very low numbers (e.g. 2e-27 from backend)
164+
// Pass as number, not string, to avoid locale decimal separator issues
165+
const numberValue = Number(number);
166+
const roundedNumber = Number(numberValue.toFixed(precision));
167+
168168
const format = '0.[00]%';
169-
return configuredNumber.format(format);
169+
return configuredNumeral(roundedNumber).format(format);
170170
};
171171

172172
export const formatSecondsToHours = (seconds: number) => {

0 commit comments

Comments
 (0)