From 19b8a52e44c78b0148c6619cdd2abcbef7254565 Mon Sep 17 00:00:00 2001 From: Chocobo1 Date: Mon, 22 Jul 2019 14:23:05 +0800 Subject: [PATCH] Add helper function to convert to fixed-point string --- src/webui/www/private/scripts/dynamicTable.js | 12 ++++-------- src/webui/www/private/scripts/misc.js | 6 ++++++ 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/src/webui/www/private/scripts/dynamicTable.js b/src/webui/www/private/scripts/dynamicTable.js index 0bd26e886..e4faa17c2 100644 --- a/src/webui/www/private/scripts/dynamicTable.js +++ b/src/webui/www/private/scripts/dynamicTable.js @@ -1092,13 +1092,9 @@ const TorrentsTable = new Class({ // ratio this.columns['ratio'].updateTd = function(td, row) { const ratio = this.getRowValue(row); - let html = null; - if (ratio == -1) - html = '∞'; - else - html = (Math.floor(100 * ratio) / 100).toFixed(2); //Don't round up - td.set('html', html); - td.set('title', html); + const string = (ratio === -1) ? '∞' : toFixedPointString(ratio, 2); + td.set('html', string); + td.set('title', string); }; // tags @@ -1184,7 +1180,7 @@ const TorrentsTable = new Class({ // availability this.columns['availability'].updateTd = function(td, row) { - const value = (Math.floor(1000 * this.getRowValue(row)) / 1000).toFixed(3); // Don't round up + const value = toFixedPointString(this.getRowValue(row), 3); td.set('html', value); td.set('title', value); }; diff --git a/src/webui/www/private/scripts/misc.js b/src/webui/www/private/scripts/misc.js index 537b7c908..589bb8548 100644 --- a/src/webui/www/private/scripts/misc.js +++ b/src/webui/www/private/scripts/misc.js @@ -161,3 +161,9 @@ function safeTrim(value) { throw e; } } + +function toFixedPointString(number, digits) { + // Do not round up number + const power = Math.pow(10, digits); + return (Math.floor(power * number) / power).toFixed(digits); +}