2014-10-24 2 views
0

В настоящее время выход 1844.6304Количество форматирования удалить цифры после запятой добавить запятую тысяч

желаемый результат - запятая тысяч подрезать после запятой (без округления)

1,844 

Я смотрел некоторое время на форумах и не может найти решение для решения обоих случаев.

+0

Math.floor (1844,6304) он и затем следовать http://stackoverflow.com/questions/2901102/how-to-print-a-number-with-commas-as-thousands-separators-in- javascript – cforcloud

ответ

1

Его еще проще, как этот

var n = 1844.6304, 
 
s = Math.floor(n).toLocaleString(); 
 
console.log(s); //"1,844" 
 
alert(s);

+0

Это работает, если вы находитесь в США, но как канадский, я вижу '1 844' –

+0

Я вижу 1844;) heh – Kavvson

+0

Не знаю, что о [Number.prototype.toLocaleString()] (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/toLocaleString) – cforcloud

1

Попробуйте это:

function intWithCommas(x) { 
    return Math.floor(x).toString().replace(/\B(?=(\d{3})+(?!\d))/g, ","); 
} 

Пример:

> intWithCommas(1844.6304) 
'1,844' 
0

Попробуйте это:

function toCommaInteger(number){ 
    var result = "" + ~~number; 
    var length = result.length; 
    var limit = result[0] === "-" ? 1 : 0; 
    for(var i = length-3; i > limit; i-=3){ 
     result = result.substring(0,i) + "," + result.substring(i,length); 
     length++; 
    } 
    return result; 
} 


toCommaInteger(123589.85315) => 123,589 
toCommaInteger(-1289.15315) => -1,289 
toCommaInteger(5)    => 5 
Смежные вопросы