Частая ситуация, значение из функции или полей ввода оказывается в текстовом варианте. Даже если в строке есть текст он его удалит. НО строка ДОЛЖНА начинаться с числа!
Так же как и кусок строки который будет ЗА числом, функция может округлить число, отбросить всё что после точки.
Напишем функцию которая выдернет из массива только числовые значения.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 |
<script> var count = "34 ящиков"; //Частая ситуация, значение из функции или полей ввода оказывается в текстовом варианте var procesCount = parseInt(count); //Даже если в строке есть текст он его удалит. НО строка ДОЛЖНА начинаться с числа! var test = 65; document.write(count + test + " - Необработанное число <br />"); document.write(procesCount + test + " - Обработанное <br />"); //Так же как и кусок строки который будет ЗА числом, функция может округлить число, отбросить всё что после точки var count2 = "5.45"; var procesCount2 = parseInt(count2); document.write("<br /><hr />" + procesCount2 + " Удаляем всё что после точки"); document.write("<br />" + (procesCount2+test) + " Удаляем всё что после точки"); /************************************************************************************************************/ var count3 = "45.5 грамм"; var procesCount3 = parseInt(count3); var procesCountParseFloat = parseFloat(count3); document.write('<br /><hr />"45.5 грамм" <strong>' + procesCount3 + "</strong> Обработано с помощью parseInt <br />"); document.write('"45.5 грамм" <strong>' + procesCountParseFloat + "</strong> Обработано с помощью parseFloat <br />"); document.write('"45.5 грамм + 65 " <strong>' + (procesCountParseFloat+test) + "</strong> Обработано с помощью parseFloat"); /************************************************************************************************************/ var bool = true; var bool2 = false; var bool3 = "6 бананов"; var res = Number(bool); document.write("<br /><hr />" + res + " - Перевели булево значение \"правда\" в цифровое <br/ >"); res = Number(bool2); document.write(res + " - Перевели \"ложь\" в цифровое значение <br/ >"); res = Number(bool3); document.write(bool3 + " = " + res + " - А в этом случае parseInt() выигрывает <br /><br /><hr />"); /************************************************************************************************************/ //Напишем функцию которая выдернет из массива только числовые значения var arr = ["33 богатыря","99 франков","500 дней лета","26 бакинских коммисаров","6-ка туз"]; function procesNum(argument){ for(var i = 0; i < argument.length; i++){ var result = parseInt(argument[i]); document.write(argument[i] + " = " + result + "<br />"); } } procesNum(arr); </script> |
| Категория: JavaScript
| Тэги: JavaScript / массивы / основы / числа