Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737 Форумы портала PHP.SU :: Преобразование буквенного символа в цифру
При введении в окна ввода конкретного буквенного символа (например, буквы «Р»), для математических операций воспринимать его, как конкретную цифру (например, 0). (В данный момент введение любых символов, кроме числовых, приводит к результату NaN)
Возможно ли такое сделать на JavaScript? Если да, прошу помочь подсказкой. Заранее благодарю за помощь.
dcc0
Отправлено: 20 Сентября, 2014 - 23:28:10
Участник
Покинул форум
Сообщений всего: 1043
Дата рег-ции: Июль 2014
Помог: 10 раз(а)
Т.е. у вас будет однозначное соответствие между цифрами и буквами?
Т.е. ключ -> значение
P -> 0
A - > 10
etc.
Если да, то в JS наличествуют массивы. http://learn[dot]javascript[dot]ru/array
----- Март 2021. Бросил программирование
Эдвард
Отправлено: 21 Сентября, 2014 - 00:59:36
Новичок
Покинул форум
Сообщений всего: 44
Дата рег-ции: Июль 2014
Помог: 0 раз(а)
dcc0 пишет:
Т.е. у вас будет однозначное соответствие между цифрами и буквами?
Т.е. ключ -> значение
P -> 0
A - > 10
etc.
Если да, то в JS наличествуют массивы.
http://learn.javascript.ru/array
Не понимаю, как реализовать свою задачу через массив. Подчеркну: для меня важно, чтобы одна конкретная буква участвовала в математических операциях, как число, но после выполнения команды оставалась той же буквой в окне ввода.
dcc0
Отправлено: 21 Сентября, 2014 - 10:23:23
Участник
Покинул форум
Сообщений всего: 1043
Дата рег-ции: Июль 2014
Покинул форум
Сообщений всего: 44
Дата рег-ции: Июль 2014
Помог: 0 раз(а)
Возьму на вооружение этот пример. Но пока основная задача по данному моменту выполнена. Сильно усложнять код тоже не хотелось бы, т. к. калькулятор, над которым работаю, будет совершать операции не с двумя ячейками, а с шестьюдесятью. К тому же, одной и той же функцией скрипт должен вычислить сумму числовых значений (исключая буквенные) и количество букв (исключая числа). И если первая задача сейчас понятна, то со второй предстоит помучиться: http://med-75[dot]hol[dot]es/1/6[dot]html .
По замыслу, во втором результирующем окне должно отобразиться количество ячеек, в которые были введены нечисловые символы.
dcc0
Отправлено: 21 Сентября, 2014 - 13:32:22
Участник
Покинул форум
Сообщений всего: 1043
Дата рег-ции: Июль 2014
Помог: 10 раз(а)
Так и есть.
----- Март 2021. Бросил программирование
Эдвард
Отправлено: 21 Сентября, 2014 - 19:54:08
Новичок
Покинул форум
Сообщений всего: 44
Дата рег-ции: Июль 2014
Помог: 0 раз(а)
А вот для более сложной задачи (когда значения "инпутов" заведомо заданы и внесены в условие), такая конструкция уже не работает: http://med-75[dot]hol[dot]es/1/7[dot]html .
Покинул форум
Сообщений всего: 44
Дата рег-ции: Июль 2014
Помог: 0 раз(а)
dcc0 пишет:
тут все совсем просто
Если б... Выше я уже писал о том, что необходимо сохранять в ячейках оригинальные значения (в т. ч. буквенные), а заменять буквы на числа (в частности Р на 0) лишь при вычислениях.
Покинул форум
Сообщений всего: 1043
Дата рег-ции: Июль 2014
Помог: 10 раз(а)
В лоб данная проблема решается так же просто, логически. Будет считать сумму и выводить P независимо о от того, в какой позиции P. Я написал для двух. Может быть, это можно как-то более элегантно оформить, написав функцию, чтобы не повторять код. Суть такая: проверить, что в переменной, вычислить, установить ту переменную, где был 0 заново, т.е. вернуть ей значение P, возвратить результат.
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.