Почему некорректно сортируются дробные числа в массиве ??? (РЕШЕНО)

Тема в разделе "Iskra JS, Espruino, Йодо", создана пользователем dreaMaster, 19 фев 2018.

  1. dreaMaster

    dreaMaster Нуб

    Не могу понять почему некорректно сортируются дробные числа в массиве! Товарищи, помогите разобраться!

    Код (Javascript):
    var mass = [150, 108.32, 107, 105.25, 105.41, 145, 108.17, 172, 98, 78,  45, 33, 101, 108.48, 108.65, 105.31];

    mass.sort((x, y) => y - x);

    print(mass);
     

    Вложения:

  2. ИгорьК

    ИгорьК Гуру

    Похоже работает только с целой частью для экономии памяти.
    Решение подсказать или сами?
     
  3. dreaMaster

    dreaMaster Нуб

    Подскажите, пожалуйста :)
     
  4. dreaMaster

    dreaMaster Нуб

    Подскажите, пожалуйста :)
     
  5. ИгорьК

    ИгорьК Гуру

    Попробуйте умножать х и у в функции на 100.
     
    sys, dreaMaster и arkadyf нравится это.
  6. ИгорьК

    ИгорьК Гуру

    Код (C++):
    mass.sort((x, y) => y*100 - x*100);
     
    sys, dreaMaster и arkadyf нравится это.
  7. dreaMaster

    dreaMaster Нуб

    Большое спасибо! Работает! :)