diff options
Diffstat (limited to 'addons/web/static/src/js/framework/utils.js')
| -rw-r--r-- | addons/web/static/src/js/framework/utils.js | 19 |
1 files changed, 12 insertions, 7 deletions
diff --git a/addons/web/static/src/js/framework/utils.js b/addons/web/static/src/js/framework/utils.js index a0ab37a7dfb..68291d41bbf 100644 --- a/addons/web/static/src/js/framework/utils.js +++ b/addons/web/static/src/js/framework/utils.js @@ -296,14 +296,19 @@ function human_size (size) { * * @param {Number} number */ -function human_number (number) { - var units = _t(",k,M").split(','); - var i = 0; - while (number >= 1000) { - number /= 1000; - ++i; +function human_number (number, decimals) { + var decimals = decimals | 0; + var number = Math.round(number); + var d2 = Math.pow(10, decimals); + var val = _t("kMGTPE"); + var i = val.length-1, s; + while( i ) { + s = Math.pow(10,i--*3); + if( s <= number ) { + number = Math.round(number*d2/s)/d2 + val[i]; + } } - return parseInt(number) + units[i]; + return number; } /** |
