Java Script много лишних цифр при подсчете.

Тема в разделе "Другие языки", создана пользователем pash_it, 10 янв 2009.

Статус темы:
Закрыта.
Модераторы: Цукер
  1. pash_it

    pash_it Постоялец

    Регистр.:
    5 окт 2007
    Сообщения:
    127
    Симпатии:
    4
    Как сделать чтобы считалось 0,2*1,6=0,32

    HTML:
    <script type="text/javascript">
    var a=0.2
    var b=1.6
    alert ("Сумма=" + (a*b))
    </script>
    Так очень много лишних цифр сзади.
    Знаю команду parseInt но она берет только первое число,дальше точку не видит..(
    HTML:
    
    <script type="text/javascript">
    var a=parseInt(0.2)
    var b=parseInt(1.6)
    alert ("Сумма=" + (a*b))
    </script>
    
    Что еще можно придумать?
     
  2. PHP_Master

    PHP_Master

    Регистр.:
    3 фев 2008
    Сообщения:
    2.647
    Симпатии:
    590
    Если тебе нужно получить строку для вывода, то метод toFixed(кол-во знаков после запятой);
     
  3. Liver

    Liver

    Регистр.:
    24 сен 2008
    Сообщения:
    316
    Симпатии:
    91
    не помню есть ли в яваскрип аналог printf, но как вариант можешь бить по точке в массив, а потом собрать воедино, выбрав после точки всего 2 знака. Или даже регуляркой выбрать нужное навродя такой
    Код:
    ^\d+?\.\d{0,2}
    
     
  4. pash_it

    pash_it Постоялец

    Регистр.:
    5 окт 2007
    Сообщения:
    127
    Симпатии:
    4
    Сейчас попробую
    Чтото такое тоже помню, было. Но не помню что это..
     
  5. PHP_Master

    PHP_Master

    Регистр.:
    3 фев 2008
    Сообщения:
    2.647
    Симпатии:
    590
    Зачем такие сложности, если можно просто
    HTML:
    <script type="text/javascript">
    var a=0.2
    var b=1.6
    alert ("Сумма=" + (a*b).toFixed(2))
    </script>
     
  6. Liver

    Liver

    Регистр.:
    24 сен 2008
    Сообщения:
    316
    Симпатии:
    91
    Да просто пока набирал и нажал отправить, только тогда увидел, что уже дали хороший ответ.
     
  7. pash_it

    pash_it Постоялец

    Регистр.:
    5 окт 2007
    Сообщения:
    127
    Симпатии:
    4
    Да я так и сделал. Спасибо за помощь. Все работает. :-]
     
Статус темы:
Закрыта.