Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flasher.ru > Флейм

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 04.04.2006, 09:16
Parker вне форума Посмотреть профиль Отправить личное сообщение для Parker Найти все сообщения от Parker
  № 1  
Ответить с цитированием
Parker

Регистрация: Dec 2005
Сообщений: 28
По умолчанию Десятичный дроби

Столкнулся с такой проблемой:

Код:
var i=0;
this.onEnterFrame=function():Void{
	i+=0.1;
	trace(i);
}
Все просто до нельзя. В аутпуте сначала все нормально показывает:

0.1
0.2
0.3
0.4
0.5

НО, дальше начинаются "ошибки":

5.8
5.9
5.99999999999999
6.09999999999999
6.19999999999999

Я слышал, что AS работает капризно с дробными числами, но что он творит подобные ошибки в таких примитивных операциях, честно для меня это была новость.

Собственно вопроса то никакого и нет, просто хотелось узнать Ваше мнение по данной проблеме.

Старый 04.04.2006, 10:10
Takato вне форума Посмотреть профиль Отправить личное сообщение для Takato Посетить домашнюю страницу Takato Найти все сообщения от Takato
  № 2  
Ответить с цитированием
Takato
 
Аватар для Takato

Регистрация: Aug 2005
Адрес: не дом и не улица
Сообщений: 1,204
Всё, сношу флэш нафиг


А вобще - дежавю - это сбой в Матрице
__________________
Давайте нанесем по ним ядерный удар!

Старый 04.04.2006, 10:24
Takato вне форума Посмотреть профиль Отправить личное сообщение для Takato Посетить домашнюю страницу Takato Найти все сообщения от Takato
  № 3  
Ответить с цитированием
Takato
 
Аватар для Takato

Регистрация: Aug 2005
Адрес: не дом и не улица
Сообщений: 1,204
В результате срочно созваннного заседания, посвященного этой проблеме, решено было устроить опрос среди населения. На вопрос - "Как вы относитесь к подобному багу во флэше?", наша специальная комисия получила следующие ответы -

13,4 процента - "Первый раз слышу"
7,4 процента - "Не знаю..."
6,3 процента - "Такая тема уже обсуждалась на Флэшере
15,8 процентов - "Не надо использовать дроби во флэше"
16,6 процента - "Надо использовать код типа i+=1 j=i/10 trace(j);"
12,0 процента - "Надо деинсталирвать флэш"
47,5 процента - "Путин"
23,1 процента - "Не надо обращать внимания на мелочи"
5.99999999999999 процента - "Мне всё равно"


В опросе приняло участие 1024 человека из 1063 регионов страны, разных возрастных групп и телосложения
__________________
Давайте нанесем по ним ядерный удар!

Старый 04.04.2006, 11:31
Samodelkin вне форума Посмотреть профиль Отправить личное сообщение для Samodelkin Найти все сообщения от Samodelkin
  № 4  
Ответить с цитированием
Samodelkin

Регистрация: Jul 2005
Адрес: Москва
Сообщений: 452
Отправить сообщение для Samodelkin с помощью ICQ
Со Флэшем все нормально, это нас в школе неправильно учили...
__________________
Давайте отбросим факты, чтобы увидеть суть

Старый 04.04.2006, 13:36
DimZ вне форума Посмотреть профиль Отправить личное сообщение для DimZ Посетить домашнюю страницу DimZ Найти все сообщения от DimZ
  № 5  
Ответить с цитированием
DimZ
 
Аватар для DimZ

Регистрация: Oct 2003
Адрес: Москва
Сообщений: 834
Отправить сообщение для DimZ с помощью ICQ
а может это их в школе не правильно учили?
__________________

Старый 04.04.2006, 13:47
Friday13 вне форума Посмотреть профиль Отправить личное сообщение для Friday13 Посетить домашнюю страницу Friday13 Найти все сообщения от Friday13
  № 6  
Ответить с цитированием
Friday13
 
Аватар для Friday13

Регистрация: Nov 2001
Адрес: Moscow village
Сообщений: 193
Отправить сообщение для Friday13 с помощью ICQ
Одно из решений:
var i=0;
this.onEnterFrame=function():Void{
i+=0.1;
i=Number(String(i))
trace(i);
}
__________________
Тут вам не здесь!!!

Старый 05.04.2006, 03:20
666 вне форума Посмотреть профиль Найти все сообщения от 666
  № 7  
Ответить с цитированием
666
Banned
[+5 29.08.07]
[+2 22.08.07]

Регистрация: Aug 2001
Сообщений: 503
Цитата:
Сообщение от Friday13
Одно из решений:
var i=0;
this.onEnterFrame=function():Void{
i+=0.1;
i=Number(String(i))
trace(i);
}
какой ужас

Старый 05.04.2006, 05:35
mr.N вне форума Посмотреть профиль Отправить личное сообщение для mr.N Найти все сообщения от mr.N
  № 8  
Ответить с цитированием
mr.N
 
Аватар для mr.N

Регистрация: Sep 2005
Адрес: SPb
Сообщений: 852
Проблема действительно существует, я много раз с ней сталкивался. Решение одно - округлять. На каждом этапе вычисления.

Старый 05.04.2006, 05:46
haetorigam# вне форума Посмотреть профиль Отправить личное сообщение для haetorigam# Найти все сообщения от haetorigam#
  № 9  
Ответить с цитированием
haetorigam#
 
Аватар для haetorigam#

Регистрация: Aug 2002
Адрес: Prague, Czech Republic Make way for the bad guy
Сообщений: 1,292
Отправить сообщение для haetorigam# с помощью ICQ
Цитата:
Сообщение от mr.N
Проблема действительно существует, я много раз с ней сталкивался. Решение одно - округлять. На каждом этапе вычисления.
О, вот ещё
Код:
var i=90;
var m=Math.cos(i*Math.PI/180);
trace(m);
m=6.12303176911189e-17;
даже весело
__________________
/''\

Старый 05.04.2006, 09:02
Parker вне форума Посмотреть профиль Отправить личное сообщение для Parker Найти все сообщения от Parker
  № 10  
Ответить с цитированием
Parker

Регистрация: Dec 2005
Сообщений: 28
Смотрю народу понравилось предлагать решения проблемы (хотя я и не просил) Скажу честно некоторые варианты решения меня ужаснули. Что ж кому не лень предлагайте еще более извращенные варианты - с удовольствием на них посмотрю. В конце концов - это же раздел ФЛЕЙМ - можно ж то хоть здесь оторваться

Создать новую тему Ответ Часовой пояс GMT +4, время: 07:22.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

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

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 07:22.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.