diff --git a/packages/mui-base/src/NumberField/utils/parse.ts b/packages/mui-base/src/NumberField/utils/parse.ts index b74594c0a..8f400efdd 100644 --- a/packages/mui-base/src/NumberField/utils/parse.ts +++ b/packages/mui-base/src/NumberField/utils/parse.ts @@ -32,13 +32,10 @@ export function getNumberLocaleDetails( } export function parseNumber(formattedNumber: string, options?: Intl.NumberFormatOptions) { - const isArabic = formattedNumber.match(ARABIC_RE); - const isHan = formattedNumber.match(HAN_RE); - let locale: string | undefined; - if (isArabic) { + if (ARABIC_RE.test(formattedNumber)) { locale = 'ar'; - } else if (isHan) { + } else if (HAN_RE.test(formattedNumber)) { locale = 'zh'; } diff --git a/packages/mui-base/src/NumberField/utils/validate.ts b/packages/mui-base/src/NumberField/utils/validate.ts index dbd23663d..cceeb3418 100644 --- a/packages/mui-base/src/NumberField/utils/validate.ts +++ b/packages/mui-base/src/NumberField/utils/validate.ts @@ -3,7 +3,7 @@ import { getFormatter } from './format'; export function removeFloatingPointErrors(value: number, format: Intl.NumberFormatOptions = {}) { return parseFloat( - getFormatter(undefined, { + getFormatter('en-US', { maximumFractionDigits: format.maximumFractionDigits, minimumFractionDigits: format.minimumFractionDigits, useGrouping: false,