Fix number format for monetary device class (#15693)

This commit is contained in:
Paul Bottein 2023-03-06 09:53:53 +01:00 committed by GitHub
parent 1741b051fc
commit 9bb36e38e6
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 8 additions and 6 deletions

View File

@ -71,6 +71,11 @@ export const computeStateDisplayFromEntityAttributes = (
style: "currency",
currency: attributes.unit_of_measurement,
minimumFractionDigits: 2,
// Override monetary options with number format
...getNumberFormatOptions(
{ state, attributes } as HassEntity,
entity
),
});
} catch (_err) {
// fallback to default

View File

@ -82,17 +82,14 @@ export const formatNumber = (
!Number.isNaN(Number(num)) &&
num !== "" &&
localeOptions?.number_format === NumberFormat.none &&
Intl &&
(options?.maximumFractionDigits != null ||
options?.minimumFractionDigits != null)
Intl
) {
// If NumberFormat is none, just set the digits options for precision and use en-US format without grouping.
// If NumberFormat is none, use en-US format without grouping.
return new Intl.NumberFormat(
"en-US",
getDefaultFormatOptions(num, {
...options,
useGrouping: false,
maximumFractionDigits: options?.maximumFractionDigits,
minimumFractionDigits: options?.minimumFractionDigits,
})
).format(Number(num));
}