diff --git a/app/assets/javascripts/discourse/lib/formatter.js.es6 b/app/assets/javascripts/discourse/lib/formatter.js.es6 index dcce95ca999..76e2ab44eb3 100644 --- a/app/assets/javascripts/discourse/lib/formatter.js.es6 +++ b/app/assets/javascripts/discourse/lib/formatter.js.es6 @@ -311,7 +311,7 @@ export function number(val) { formattedNumber = I18n.toNumber(val / 1000000, {precision: 1}); return I18n.t("number.short.millions", {number: formattedNumber}); } else if (val > 99999) { - formattedNumber = I18n.toNumber(val / 1000, {precision: 0}); + formattedNumber = I18n.toNumber(Math.floor(val / 1000), {precision: 0}); return I18n.t("number.short.thousands", {number: formattedNumber}); } else if (val > 999) { formattedNumber = I18n.toNumber(val / 1000, {precision: 1}); diff --git a/test/javascripts/lib/formatter-test.js.es6 b/test/javascripts/lib/formatter-test.js.es6 index 1d3d4e43fc1..ddb97c83ff9 100644 --- a/test/javascripts/lib/formatter-test.js.es6 +++ b/test/javascripts/lib/formatter-test.js.es6 @@ -211,6 +211,8 @@ QUnit.test("number", assert => { assert.equal(number(NaN), "0", "it returns 0 for NaN"); assert.equal(number(3333), "3.3k", "it abbreviates thousands"); assert.equal(number(2499999), "2.5M", "it abbreviates millions"); + assert.equal(number(1000000), "1.0M", "it abbreviates a million"); + assert.equal(number(999999), "999k", "it abbreviates hundreds of thousands"); }); QUnit.test("durationTiny", assert => {