Перейти к содержимому

Рекомендованные сообщения

Опубликовано:

Почистил тему. Тут обсуждаем только релиз и все что к нему относится, от флуда прошу воздержаться.

  • 4 months later...
Опубликовано:

Поднимали ли уже вопрос сертификации стг?

Если да - пните на тему.

Если нет - думаю имеет смысл поднять этот вопрос на обсуждение.

 

ps. извините за офтоп.

  • 1 month later...
Опубликовано:

Какаято бага или фича -0.000000 и инет соответственно не включился, есть разница между 0 и -0, и почему оно установилось в -0 ?

2011-12-06 00:00:54 -- Admin '@stargazer', 0.0.0.0: User 'odinec_': 'cash' parameter changed from '99.000000' to '0.000000'. Subscriber fee charge
2011-12-06 00:00:54 -- Admin '@stargazer', 0.0.0.0: User 'nurtaev': 'cash' parameter changed from '100.000000' to '-0.000000'. Subscriber fee charge

Опубликовано:

Издержки кривой архитектуры. Именно по этому нельзя хранить деньги как вещественные числа - только целые.

Опубликовано:

Мантисса вещественного числа представляет собой сумму степеней двойки. А таким образом любое число представить нельзя. По этому их точность ограниченна и результаты математических операций могут быть довольно странные.

Опубликовано:

Мантисса вещественного числа представляет собой сумму степеней двойки. А таким образом любое число представить нельзя. По этому их точность ограниченна и результаты математических операций могут быть довольно странные.

 

Ты люцифера вызываешь?

Опубликовано:

Мантисса вещественного числа представляет собой сумму степеней двойки. А таким образом любое число представить нельзя. По этому их точность ограниченна и результаты математических операций могут быть довольно странные.

Одним из традиционных решений подобных проблем является использование неточных сравнений: a == b тогда и только тогда, когда abs(a - B) < tolerance, где tolerance - некоторая константа точности. Думаю, для stg хватит 0.0001.

 

Но в будущих версиях есть смысл сделать класс для денежных величин, который будет использовать вещественные числа с фиксированной запятой.

Опубликовано:

Мантисса вещественного числа представляет собой сумму степеней двойки. А таким образом любое число представить нельзя. По этому их точность ограниченна и результаты математических операций могут быть довольно странные.

Одним из традиционных решений подобных проблем является использование неточных сравнений: a == b тогда и только тогда, когда abs(a - :blink: < tolerance, где tolerance - некоторая константа точности. Думаю, для stg хватит 0.0001.

 

Но в будущих версиях есть смысл сделать класс для денежных величин, который будет использовать вещественные числа с фиксированной запятой.

Другим традиционным решением этой проблемы является хранение денежных значений в виде целых чисел с точностью до копейки с преобразованием при выводе в UI. В 2.409 так и будет сделано ;)

Остается вопрос обратной совместимости по конфигуратору, авторизатору и XML RPC. Думаю, этот вопрос решится версионированием (за одно добавлю в авторизатор вывод информации о тарифе).

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас
  • Сейчас на странице   0 пользователей

    • Нет пользователей, просматривающих эту страницу.
×
×
  • Создать...