fix: Consider fraction units for precision
This commit is contained in:
parent
cae267723f
commit
db5888e2f9
2 changed files with 6 additions and 9 deletions
|
|
@ -69,11 +69,11 @@ frappe.form.formatters = {
|
|||
var decimals = parts.length > 1 ? parts[1] : ""; // parts.length == 2 ???
|
||||
|
||||
if ( decimals.length < 3 || decimals.length < precision ) {
|
||||
const fraction = frappe.model.get_value(":Currency", currency, "smallest_currency_fraction_value") || 100; // if not set, minimum 2.
|
||||
let fraction_parts = cstr(fraction).split(".");
|
||||
const fraction = frappe.model.get_value(":Currency", currency, "fraction_units") || 100; // if not set, minimum 2.
|
||||
precision = cstr(fraction).length - 1;
|
||||
|
||||
if (fraction_parts.length > 1) {
|
||||
precision = fraction_parts[1].length;
|
||||
if (decimals.length < cstr(fraction).length) {
|
||||
precision = cstr(fraction).length - 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -524,11 +524,8 @@ def fmt_money(amount, precision=None, currency=None):
|
|||
if precision > 2:
|
||||
if len(decimals) < 3:
|
||||
if currency:
|
||||
fraction = frappe.db.get_value("Currency", currency, "smallest_currency_fraction_value", cache=True) or 100
|
||||
fraction_parts = cstr(fraction).split(".")
|
||||
|
||||
if len(fraction_parts) > 1:
|
||||
precision = len(fraction_parts[1])
|
||||
fraction = frappe.db.get_value("Currency", currency, "fraction_units", cache=True) or 100
|
||||
precision = len(cstr(fraction)) - 1
|
||||
else:
|
||||
precision = number_format_precision
|
||||
elif len(decimals) < precision:
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue