From 4bfa4549447309f7b25e44eca6820f7bf8e74651 Mon Sep 17 00:00:00 2001 From: Joel Santirso Date: Mon, 30 Jun 2014 19:37:37 +0200 Subject: [PATCH] Add optional decimal separator to "toFormat" Resolves MikeMcl/decimal.js#6 --- decimal.js | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/decimal.js b/decimal.js index ddf0db9..d1ee6a5 100644 --- a/decimal.js +++ b/decimal.js @@ -1268,17 +1268,18 @@ * [sep1] {string} The grouping separator of the integer part of the number. * [sep2] {string} The grouping separator of the fraction part of the number. * [dp] {number} Decimal places. Integer, -MAX_DIGITS to MAX_DIGITS inclusive. + * [dsep] {string} Decimal separator, if left undefined it defaults to '.'. * * Non-breaking thin-space: \u202f * * If dp is invalid the error message will incorrectly give the method as toFixed. * */ - P['toFormat'] = function ( sep1, dp, sep2 ) { + P['toFormat'] = function ( sep1, dp, sep2, dsep ) { var arr = this.toFixed(dp).split('.'); return arr[0].replace( /\B(?=(\d{3})+$)/g, sep1 == null ? ',' : sep1 + '' ) + - ( arr[1] ? '.' + ( sep2 ? arr[1].replace( /\d{5}\B/g, '$&' + sep2 ) : arr[1] ) : '' ); + ( arr[1] ? (dsep == null ? '.' : dsep) + ( sep2 ? arr[1].replace( /\d{5}\B/g, '$&' + sep2 ) : arr[1] ) : '' ); };