Калькулятор стоимости на JavaScript: отображение числа с запятой
Калькулятор стоимости на javascript: не выводится число с запятой, - что не так!? Подскажите, плз!:-?
<!DOCTYPE html> <head> <title>Калькулятор на JavaScript</title> <meta http-equiv="Content-Type" content="text/html; charset=windows-1251" /> </head> <body> <b>Взрослые:</b><br/> <select onchange="calc()" id="otona"> <option value="0">Выбрать</option> <option value="5,000">2</option> <option value="7.000">3</option> <option value="10,000">4</option> <option value=12.000>5</option> </select><br/> <div>Стоимость: <span id="result">0</span> руб.</div> </body> <script type="text/javascript"> function calc() { let otona = document.getElementById("otona"); let result = document.getElementById("result"); let price = 0; price = parseFloat(otona.options[otona.selectedIndex].value); result.innerHTML = price; } </script> </html> |
Во-первых: тебя в value числа через одно с точкой и с запятой.
Во вторых: parseFloat превращает числовую строку стандартного формата в число, отбрасывая мусор после числа если он есть. Число 7.000 - это просто число 7, нули после точки ни на что не влияют. Число 5,000 - это число 5 плюс мусорная строка ',000', которая отбрасывается и ни на что не влияет. Если тебе надо просто отображать - убери parseFloat и всё. Если нужны какие-то математические действия, то либо сначала определись с форматом, потом приводи этот формат к стандартному числу, и только потом отправляй в parseFloat, либо, лучше, в value храни именно чистое число без рюшечек, а форматируй только при отображении. |
Спасибо за разъяснение
Вообще то в иенах хотел вывести. В дальнейшем ещё будет один выпадающий список для суммирования с первым :)
|
| Часовой пояс GMT +3, время: 10:50. |