|
|
|||||
Регистрация: Apr 2014
Сообщений: 14
|
Проблема с округлением чисел
Программа должна рассчитывать значения переменных, и выводить их в виде таблицы, округленными до сотых. Вот код проблемного учатка:
for(var i:int =1; i<9; i++){ //расчеты gz2[i] = gz2[i].toFixed(2); gz3[i] = gz3[i].toFixed(2); gz4[i] = gz4[i].toFixed(2); gz6[i] = gz6[i].toFixed(2); root["textfield"+i].text = gz2[i]+" | "+gz3[i]+" | "+gz4[i]+" | "+gz6[i]; } TypeError: Error #1010: Термин не определен и не имеет свойств. at _fla::MainTimeline/raschet() Я попробовал округлять другим методом: for(var i:int =1; i<9; i++){ //расчеты gz2[i] = Math.round(gz2[i]/0.01)*0.01; gz3[i] = Math.round(gz3[i]/0.01)*0.01; gz4[i] = Math.round(gz4[i]/0.01)*0.01; gz6[i] = Math.round(gz6[i]/0.01)*0.01; root["textfield"+i].text = gz2[i]+" | "+gz3[i]+" | "+gz4[i]+" | "+gz6[i]; Как округлить числа, чтоб они выводились по-человечески? |
|
|||||
Регистрация: Apr 2014
Сообщений: 14
|
Цитата:
for(var i:int =1; i<9; i++){ //расчеты gz2[i] = int((gz2[i])*100)/100; gz3[i] = int((gz3[i])*100)/100; gz4[i] = int((gz4[i])*100)/100; gz6[i] = int((gz6[i])*100)/100; root["textfield"+i].text = gz2[i]+" | "+gz3[i]+" | "+gz4[i]+" | "+gz6[i]; } TypeError: Error #1010: Термин не определен и не имеет свойств. at _fla::MainTimeline/raschet() |
|
|||||
Banned
[+4 24.02.14]
[+4 07.11.13] [+ 13.03.14] Регистрация: Mar 2013
Сообщений: 1,864
|
Возможно там где Вызываете метод raschet он не доступен?
У Вас с кодом проблема а не с округлением. |
|
|||||
Регистрация: Apr 2014
Сообщений: 14
|
raschet - это функция, включающая в себя вот это все:
for(var i:int =1; i<9; i++){ //расчеты gz2[i] = int((gz2[i])*100)/100; gz3[i] = int((gz3[i])*100)/100; gz4[i] = int((gz4[i])*100)/100; gz6[i] = int((gz6[i])*100)/100; root["textfield"+i].text = gz2[i]+" | "+gz3[i]+" | "+gz4[i]+" | "+gz6[i]; } а может можно как-то избавится от хвостов из нулей или девяток при использовании Math.round? |
|
|||||
Banned
[+4 24.02.14]
[+4 07.11.13] [+ 13.03.14] Регистрация: Mar 2013
Сообщений: 1,864
|
А Вы в коде делаете ещё изменения? Просто, если у Вас со вторым кодом из првого поста работает,
то и с этим обязано. |
|
|||||
У вас массив наверное не инициализирован. У меня часто была подобная ошибка только из-за того, что массив не инициализирован.
__________________
There is no thing in this world that is not simple. |
|
|||||
Lorem ipsum
|
Надеюсь gz2 — это массив, а не вектор, потому что toFixed() возвращает уже не число, а строку.
Я еще могу понять умножение на 0.01 — это типо такая нанооптимизация на разнице выполнений деления и умножения. Но деление на 0.01 вместо умножения на 100 — не поддается.
__________________
Поймай яблоко 2! |
Часовой пояс GMT +4, время: 21:05. |
|
« Предыдущая тема | Следующая тема » |
|
|