разбор десятичных дробей в промежуток - PullRequest
4 голосов
/ 04 марта 2011
<input value="123" />
<span></span>

$('input').change(function (){
    var val = $(this).val().toFixed(2);
    $('span').text(val);
});

Я пробовал приведенный выше код, но не могу получить десятичное число на text(), просто показывает как 123. Это мой первый эксперимент с toFixed()

только вcase toFixed() является js нативным методом, а не jquery

Ответы [ 3 ]

12 голосов
/ 04 марта 2011

toFixed - это метод, который вы вызываете по номеру, а не по строке. Вам нужно разобрать строку в число:

var val = parseFloat($(this).val(), 10).toFixed(2);

Демонстрация здесь: http://jsfiddle.net/QrW5C/

0 голосов
/ 04 марта 2011

Вам необходимо разобрать его:

var NumericValue = parseFloat($(this).val())
var val = NumericValue .toFixed(2);

информация здесь: http://www.bennadel.com/blog/1013-Javascript-Number-toFixed-Method.htm

также:

<span></spam> (?)
0 голосов
/ 04 марта 2011

Посмотрите на консоль ошибок.Вы должны увидеть что-то вроде:

TypeError: Object 123 has no method 'toFixed'

В строках нет метода toFixed().Только цифры имеют.Сначала преобразуйте значение в число (например, добавив +):

var val = (+$(this).val()).toFixed(2);

DEMO

...