From 07b99f7eb3a1e94736d30f8075e855f1c1dff66d Mon Sep 17 00:00:00 2001 From: Raffael Meyer <14891507+barredterra@users.noreply.github.com> Date: Wed, 18 Mar 2026 23:54:13 +0100 Subject: [PATCH] fix: number card formatting (#38009) --- frappe/public/js/frappe/widgets/number_card_widget.js | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/frappe/public/js/frappe/widgets/number_card_widget.js b/frappe/public/js/frappe/widgets/number_card_widget.js index fdf9e978d7..4d3cab3ef0 100644 --- a/frappe/public/js/frappe/widgets/number_card_widget.js +++ b/frappe/public/js/frappe/widgets/number_card_widget.js @@ -231,6 +231,11 @@ export default class NumberCardWidget extends Widget { } set_formatted_number(df, doc) { + if (this.number === null) { + this.formatted_number = __("N/A", null, "Number not available"); + return; + } + const default_country = frappe.sys_defaults.country; let number_parts; @@ -246,14 +251,15 @@ export default class NumberCardWidget extends Widget { // done to add multicurrency support in number card if (this.card_doc.currency) { this.formatted_number = - format_currency(number_parts[0], this.card_doc.currency) + " " + symbol; + format_currency(parseFloat(number_parts[0]), this.card_doc.currency) + + (symbol ? " " + symbol : ""); return; } number_parts[0] = window.convert_old_to_new_number_format(number_parts[0]); const formatted_number = frappe.format(number_parts[0], df, null, doc); this.formatted_number = - ($(formatted_number).text() || formatted_number) + " " + __(symbol); + ($(formatted_number).text() || formatted_number) + (symbol ? " " + symbol : ""); } _generate_common_doc(rows) {