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

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

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

Регистрация: Dec 2013
Сообщений: 24
Attention Помогите выдает 0 при расчете

Доброе время суток
Я в AS3 2 суток всего и разобраться пока ещё не успел но вот моё уравнение
Код AS3:
	j_n = j_inp.text;
	R_yadr = Ryadr_inp.text;
	co_n = c_inp.text;
	Tn1_num = parseInt(j_n) * parseInt(R_yadr);
	Tn2_num = Math.pow(parseInt(co_n), 2);
	Tn_num = parseInt(Tn1_num) / parseInt(Tn2_num);
	Tn_num.toString();
	Tn_txt.text = String(Tn_num);
И вот если я ввожу малые числа в j_n (к примеру 1,3) и R_yadr (к примеру 0,29) (это 2 переменные в числитиле)
то в результате появляется 0 при расчете.
Что делать?
вроде как округление не такое должно быть.
Вложения
Тип файла: rar ТАУ.rar (60.8 Кб, 4 просмотров)

Старый 07.12.2013, 02:26
Akopalipsis вне форума Посмотреть профиль Найти все сообщения от Akopalipsis
  № 2  
Ответить с цитированием
Akopalipsis
Banned
[+4 24.02.14]
[+4 07.11.13]
[+ 13.03.14]

Регистрация: Mar 2013
Сообщений: 1,864
Вы какой тип используете для переменных с числами? Нужно Number.

Старый 07.12.2013, 02:34
Vakula вне форума Посмотреть профиль Отправить личное сообщение для Vakula Найти все сообщения от Vakula
  № 3  
Ответить с цитированием
Vakula

Регистрация: Dec 2013
Сообщений: 24
Цитата:
Сообщение от Akopalipsis Посмотреть сообщение
Вы какой тип используете для переменных с числами? Нужно Number.
Вот такой, я то понимаю что нужно численный тип, или вы имеете ввиду что при численном типе у меня не будет так сильно округлять и писать "Infinity" в ответе?
Вот скачайте файл все поймете когда вводите малые числа выбивает ошибки.
Код AS3:
import flash.events.MouseEvent;
 
equally_btn.addEventListener(MouseEvent.CLICK, equClick);
 
//Включаем рамку для поля ввода
alf_inp.border = true;
c_inp.border = true;
j_inp.border = true;
kbr_inp.border = true;
Lyadr_inp.border = true;
Lzg_inp.border = true;
Ryadr_inp.border = true;
Rzg_inp.border = true;
Kpu_inp.border = true;
Kg_txt.border = true;
Tg_txt.border = true;
 
//разрешаем регистр
alf_inp.restrict = "0-9,,,.,";
c_inp.restrict = "0-9,,,.,";
j_inp.restrict = "0-9,,,.,";
kbr_inp.restrict = "0-9,,,.,";
Lyadr_inp.restrict = "0-9,,,.,";
Lzg_inp.restrict = "0-9,,,.,";
Ryadr_inp.restrict = "0-9,,,.,";
Rzg_inp.restrict = "0-9,,,.,";
Kpu_inp.restrict = "0-9,,,.,";
 
//-----Тело калькулятора-----\\
 
//переменные
var L_zg:String;
var R_zg:String;
var al_ugol:String;
var L_yadr:String;
var R_yadr:String;
var j_n:String;
var co_n:String;
var k_br:String;
var K_pu:String;
 
//мои числа для формул
var Tg_num:Number;
var Kg_num:Number;
var Tn_num:Number;
var Tn1_num:*;
var Tn2_num:*;
var Te_num:Number;
var Ku_num:Number;
var Ki_num:Number;
 
function equClick(event:MouseEvent):void{
//Считаем Тг parseInt()
	L_zg = Lzg_inp.text; //соеденил то что ввел и значение стринг
	R_zg = Rzg_inp.text;
	Tg_num = parseInt(L_zg) / parseInt(R_zg);
	Tg_num.toString();
	Tg_txt.text = String(Tg_num);
//Считаем Кг Math.tan() parseInt()
	al_ugol = alf_inp.text;
	Kg_num = Math.tan(parseInt(al_ugol) * Math.PI/180) /  parseInt(R_zg);
	Kg_num.toString();
	Kg_txt.text = String(Kg_num);
//Считаем Tн parseInt() Какогото Х сильно округляет числитель
//РАЗБЕРАЮСЬ
	j_n = j_inp.text;
	R_yadr = Ryadr_inp.text;
	co_n = c_inp.text;
	Tn1_num = parseInt(j_n) * parseInt(R_yadr);
	Tn2_num = Math.pow(parseInt(co_n), 2);
	Tn_num = parseInt(Tn1_num) / parseInt(Tn2_num);
	Tn_num.toString();
	Tn_txt.text = String(Tn_num);
//Считаем Тэ parseInt()
	L_yadr = Lyadr_inp.text;
	Te_num = parseInt(L_yadr) / parseInt(R_yadr);
	Te_num.toString();
	Te_txt.text = String(Te_num);
//Считаем Кu parseInt() Происходит сильное округление
	Ku_num = 1 / parseInt(co_n);
	Ku_num.toString();
	Ku_txt.text = String(Ku_num);
//Считаем Кi parseInt()
	Ki_num = parseInt(R_yadr) / parseInt(co_n);
	Ki_num.toString();
	Ki_txt.text = String(Ki_num);
}
Добавлено через 6 минут
Цитата:
Сообщение от Akopalipsis Посмотреть сообщение
Вы какой тип используете для переменных с числами? Нужно Number.
Я по моему понял в чем загвоздка!
В решении уравнений я пишу parseInt(любая переменная) что бы считало её как Интеджер (целочисленую)
а ввожу малые числа с запятыми, может оно их и округляем и из-за этого получаются такие ответы?
может есть другой способ делать решение уравнений без это parseInt() команды?
Подскажите новенькому.
__________________
Держись, дальше только хуже!

Старый 07.12.2013, 02:42
Akopalipsis вне форума Посмотреть профиль Найти все сообщения от Akopalipsis
  № 4  
Ответить с цитированием
Akopalipsis
Banned
[+4 24.02.14]
[+4 07.11.13]
[+ 13.03.14]

Регистрация: Mar 2013
Сообщений: 1,864
Тип Number выводит реальные числа, тип int и uint округляют.
И соответственно, метод parseInt преобразует значение в тип int, который округляет.
Попробуйте parseFloat.

Старый 07.12.2013, 02:43
Vakula вне форума Посмотреть профиль Отправить личное сообщение для Vakula Найти все сообщения от Vakula
  № 5  
Ответить с цитированием
Vakula

Регистрация: Dec 2013
Сообщений: 24
Цитата:
Сообщение от Akopalipsis Посмотреть сообщение
Тип Number выводит реальные числа, тип int и uint округляют.
И соответственно, метод parseInt преобразует значение в тип int, который округляет.
Попробуйте parseFloat.
Да работает УРА!
спасибо вам огромное
Вы мне очень сильно помогли и выручили!
теперь буду знать
ещё раз спасибо!
__________________
Держись, дальше только хуже!

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

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

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


 


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


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