Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Калькулятор - числа с запятой/точкой (https://javascript.ru/forum/misc/70105-kalkulyator-chisla-s-zapyatojj-tochkojj.html)

laimas 10.08.2017 17:10

рони,
тогда еще добавить и удаление не цифрового ввода.

j0hnik 10.08.2017 17:20

Цитата:

Сообщение от laimas (Сообщение 461265)
рони,
тогда еще добавить и удаление не цифрового ввода.

и кнопочки
<button>-</button><input id="val_a"/><button>+</button>


:)

рони 10.08.2017 17:24

laimas, :)
ввод в инпут только цифрами, точкой, запятой, минусом

ввод только числа

laimas 10.08.2017 17:29

рони, ну понятно, что не проблема.

рони 10.08.2017 17:30

j0hnik,
кнопки не рационально в данном случае, быстрее ручной ввод

MC-XOBAHCK 10.08.2017 17:32

рони,
Круто! Работает во всех браузерах и с точкой и с запятой + округляет именно так как мне нужно.
А чтобы исключить минусовые значения <0, нужно вставлять проверку if или можно ещё код усовершенствовать?

laimas 10.08.2017 17:42

Цитата:

Сообщение от MC-XOBAHCK
А чтобы исключить минусовые значения <0

Просто берите абсолютные значения.

рони 10.08.2017 17:43

MC-XOBAHCK,
a = $('#val_a').val().trim().replace(/,/,'.').replace(/[^\d\.]/g,'');	//Длина прямоугольника
  b = $('#val_b').val().trim().replace(/,/,'.').replace(/[^\d\.]/g,'');;	//Ширина прямоугольника

MC-XOBAHCK 11.08.2017 13:00

Спасибо всем кто принимает участие в теме, код и за ссылки на инфу! С этим вопросом вроде как освоился.

Если не напрягает продолжение темы, можете подсказать на более философский вопрос:
как правильно организовать логику выбора ввода данных в метрах или в миллиметрах.
Планирую поставить кнопки для выбора ввода в метрах или в миллиметрах. По умолчанию берём в метрах.
<button class="btn" id="m">В метрах</button>
<button class="btn" id="mm">В миллиметрах</button>

Макет полей калькулятора:
<div>
   <h4>Прямоугольник</h4>
   <p>Длина прямоугольника: <input id="val_a"  /></p>
   <p>Ширина прямоугольника: <input id="val_b" /></p>
  <div>Площадь прямоугольника:<span id="pls"></span> м.кв.</div>
</div>

Я правильно рассуждаю, что на кнопки для выбора ввода в метрах или в миллиметрах нужно повесить скрипт который будет изменять id в инпутах? А уже по изменённым инпутам делать в скрипте конвертацию из миллиметров в метры?

Или подобный манёвр нужно делать другим методом??

При любом типе ввода в результате будут метры квадратные.

j0hnik 11.08.2017 13:07

просто дели на 1млн. результат.
переключатель радиобатоном я бы сделал.


Часовой пояс GMT +3, время: 18:15.