2013-11-23 2 views
0

У меня есть фрагмент кода в моей JQuery:Как ограничить количество символов с JQuery/JSON

<li> Speed MPH: ' + val.speed_mph + '</li>\ 

, который извлекается из конечной точки JSON и показывает, как, например, в браузере:

Speed MPH: 7.671862999999999

Как я могу ограничить количество символов на выходе? Я попытался добавить в строку:

.substring(0;4) 

Очевидно, что это не работает. Мне нужно создать переменную? Я пробовал это, но не слишком уверен, как это сделать.

Большое спасибо!

ответ

1

Если вы просто хотите показать x много десятичных знаков, вы не должны использовать подстроку (так как это немного неясно, особенно если вы нажмете цифры> 9). Вместо этого вы должны использовать что-то вроде toPrecision:

var speed = 7.632234; 
console.log(speed.toPrecision(3)); 

Заметьте, что это устанавливает общее количество символов (которое может быть то, что вы хотите). Если вы хотите цифры после десятичного знака, то вы должны использовать toFixed, как предлагает Алекс Кинни.

+0

Прохладный! Я не знал о 'toPrecision()'. –

+0

@AlexKinnee Да, он более точно соответствует вызову подстроки, но я полагаю, что toFixed является более распространенным и может фактически быть тем, что необходимо. – Igor

1

Предполагая, что val.speed_mph является числом, а не строкой, вы можете использовать parseFloat, а также функции JavaScript Math, чтобы отформатировать это число.

parseFloat(Math.round(num3 * 100)/100).toFixed(2); даст вам 2 знака после запятой.

Если ваше значение не является числом, а является строкой, parseFloat() преобразует вашу строку в число. toFixed(2) составляет 2 десятичных знака.

Math.round() округляет ваш номер, а не просто отрубает его.

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