Показано с 1 по 7 из 7

Тема: Дробные значения переменных

Древовидный режим

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #6
    Супер-модератор Аватар для dirge
    Информация о пользователе
    Регистрация
    25.02.2013
    Сообщений
    924
    Репутация: 79 Добавить или отнять репутацию

    По умолчанию

    Цитата Сообщение от Paranoid Посмотреть сообщение
    Я так понял ты на мв сидишь. Уже была тема по этому поводу. Так вот если я не ошибаюсь, то js плохо с нецелыми работает.
    Ерунда, так же как и любой другой мейкер, если не в курсе, то лучше не говорить.

    Просто стандартная функция с переменными имеет в себе округление.
    Если нужны дроби, то нужно обращаться к переменным через вызов скриптов.
    Например:
    $gameVariables._data[1] = 0.11
    где 1 номер переменной.
    Это что касается установки значения, получать значение можно как и раньше стандартными средствами.

    Есть конечно особенность, при работе с дробями, но она не является уникальной для JS, это есть и у других языков, в том числе и Руби.
    Чтобы представлять о чем я говорю, то вот небольшая выдержка с одной статьи. Это нужно знать, если хочешь работать с дробями без округлений.
    Спойлер :
    Давайте вспомним 3-й класс и сложим несколько десятичных дробей. Результаты сложения в уме проверим в консоли JS:
    0.5 + 0.5; //1
    0.5 + 0.7; //1.2
    0.1 + 0.2; //0.30000000000000004;
    0.1 + 0.7; //0.7999999999999999;
    0.1 + 0.2 - 0.2; //0.10000000000000003

    Проблема: при сложении некоторых дробных чисел, выдаётся арифметически неверный результат.
    Объяснение: такие результаты получаются из-за особенностей работы c числами с плавающей точкой. Это не является особенностью JavaScript, другие языки работают также (я проверил в PHP, Python и Ruby).
    Совет: во-первых, вы, как программист, обязаны знать об особенностях работы компьютера с числами с плавающей точкой. Во-вторых, в большинстве случаев достаточно просто округлять результаты. Но, если вдруг необходимо выдавать пользователю точный результат, например, при работе с данными о деньгах, вы можете просто умножать все аргументы на 10 и результат делить обратно на 10
    Последний раз редактировалось dirge; 15.04.2017 в 11:49.

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Метки этой темы

Социальные закладки

Социальные закладки

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •  
Дробные значения переменных