2015-05-08 3 views
1

Я пытаюсь написать код, который будет делать следующее:Выберите номер, затем формат до 2 знаков после запятой

  1. Добавить идентификатор-го ребенка
  2. формат числа в п-й ребенок до 2-х знаков после запятой
  3. Нанести £ перед числами
  4. Loop, пока каждый энный ребенок в таблице не делается

У меня есть номера, подобные этому, для раунда «0.7823076923076923» с использованием кода, который у меня есть, я могу его округлить до «1», но мне нужно его округлить до 0,78. Затем я добавил «toFixed (2)» и он берет мой «1» и помещает его в «1.00», но я нужно, чтобы он перешел к «0.78», как только у меня есть это место, я могу посмотреть, как я могу закодировать код, но небольшие шаги.

Спасибо за помощь.

Код:

<script> 
$(document).ready(function(){ 
    $('table>tbody>tr>td:nth-child(5n)').prop('id', 'test'); 
    $('#test').text(function(i,v) { 
     return Math.round(parseInt(v * 100)/100).toFixed(2); 
    }); 
}); 
</script> 

UPDATE я получил это работает !!!

$(document).ready(function(){ 
    $('table>tbody>tr>td:nth-child(5n)').prop('id', 'test'); 
    var test = parseFloat($('#test').text()).toFixed(2); 
    $('table>tbody>tr>td:nth-child(5n)').empty().append(test); 
}); 

теперь сделать петлю,

Спасибо за помощь.

+0

См. Http://stackoverflow.com/questions/6134039/format-number-to-al way-show-2-decimal-places – GillesC

ответ

1

Чтобы округлить число до n знаков после запятой:

var n = 2; 
var number = 0.7823076923076923; 
var result = Math.round(number * Math.pow(10,n))/Math.pow(10,n); 
result = result.toFixed(n); 

UPDATE:

Для более многоразового варианта, вы можете определить пользовательскую функцию округления:

function roundTo (value, n) { 
    var result = Math.round(value * Math.pow(10,n))/Math.pow(10,n); 
    return result.toFixed(n); 
} 

var foo = roundTo(0.7823076923076923, 2); // 0.78 
+0

Hey Спасибо за это, Как я могу сделать динамическое число var, а не определять число? как var number = #test или что-то им не повезло с этой целью Еще раз спасибо. – zoro724

+0

Несомненно, вы, вероятно, просто хотите создать новую функцию в этом случае. Обновлен ответ. –

Смежные вопросы