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

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

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

Регистрация: Sep 2010
Сообщений: 45
По умолчанию Препарация числа с плавающей точкой

Есть переменная, в ней число с плавающей точкой.
Есть какие-то стандартные средства, чтобы взять отдельно целую и дробную части?

Добавлено через 26 минут
Уже сам написал метод)

Старый 22.09.2010, 23:04
f.g.programmer вне форума Посмотреть профиль Отправить личное сообщение для f.g.programmer Найти все сообщения от f.g.programmer
  № 2  
Ответить с цитированием
f.g.programmer
 
Аватар для f.g.programmer

блогер
Регистрация: Sep 2010
Адрес: Россия
Сообщений: 137
Записей в блоге: 3
Код AS3:
var num:Number = 56.654;
var base:Number = Math.floor(num); // 56
var rest:Number = num - Math.floor(num); // примерно 0.654

Старый 22.09.2010, 23:52
gloomyBrain вне форума Посмотреть профиль Отправить личное сообщение для gloomyBrain Найти все сообщения от gloomyBrain
  № 3  
Ответить с цитированием
gloomyBrain
 
Аватар для gloomyBrain

блогер
Регистрация: Mar 2008
Адрес: РФ, Санкт-Петербург
Сообщений: 2,272
Записей в блоге: 5
Отправить сообщение для gloomyBrain с помощью ICQ Отправить сообщение для gloomyBrain с помощью Skype™
Math.floor для отрицательных чисел даст неверный результат
Проще тогда уж так
Код AS3:
package {
 
	public class CoolNumber {
 
		private var _value:Number;
 
		public function CoolNumber(value:Number = 0) {
 
			this._value = value;
 
		}
 
		/*
		 * Возвращает значение числа
		 */ 
		public function get value():Number {
			return this._value;
		}
 
		/*
		 * Возвращает только целую часть числа
		 */
		public function get integralPart():int {
			return int(this._value % 1);
		}
 
		/*
		 * Возвращает только дробную часть числа
		 */
		public function get fractionalPart():Number {
			return this._value - this.integralPart;
		}
 
 
	}
 
}
__________________
...вселенская грусть

Старый 23.09.2010, 00:33
f.g.programmer вне форума Посмотреть профиль Отправить личное сообщение для f.g.programmer Найти все сообщения от f.g.programmer
  № 4  
Ответить с цитированием
f.g.programmer
 
Аватар для f.g.programmer

блогер
Регистрация: Sep 2010
Адрес: Россия
Сообщений: 137
Записей в блоге: 3
Цитата:
Сообщение от gloomyBrain Посмотреть сообщение
Math.floor для отрицательных чисел даст неверный
Это зависит от того, что считать целой частью. В математике целая часть действительного числа это округление до ближайшего целого в меньшую сторону.
Так что мой пример даёт математически верный результат.
Написать класс хорошая идея, но у тебя ошибки в коде
int(this._value % 1) - всегда возвращает нуль,
для получения целой части в этом смысле достаточно: int(_value)
и соответственно дробной: _value-int(_value)


Последний раз редактировалось f.g.programmer; 23.09.2010 в 01:08.
Старый 23.09.2010, 01:14
dimarik вне форума Посмотреть профиль Отправить личное сообщение для dimarik Найти все сообщения от dimarik
  № 5  
Ответить с цитированием
dimarik
.
 
Аватар для dimarik

модератор форума
Регистрация: Sep 2003
Адрес: Москва
Сообщений: 4,630
Записей в блоге: 20
Цитата:
Сообщение от gloomyBrain Посмотреть сообщение
Math.floor для отрицательных чисел даст неверный результат
У нас самые грамотные флешеры. Опять нет повода не обратиться в jira адоба?

Добавлено через 3 минуты
Цитата:
Сообщение от f.g.programmer Посмотреть сообщение
int(this._value % 1) - всегда возвращает нуль,
для получения целой части в этом смысле достаточно: int(_value)
и соответственно дробной: _value-int(_value)
А this зачем Вы убрали в своих конструкциях? Тем самым вы нарушаете течение дзю у человека. Не забывайте об этом.
__________________
Воспитан в TimeZero. Работаю в Mail.ru.

Старый 23.09.2010, 08:31
Котяра вне форума Посмотреть профиль Отправить личное сообщение для Котяра Посетить домашнюю страницу Котяра Найти все сообщения от Котяра
  № 6  
Ответить с цитированием
Котяра
буду краток
 
Аватар для Котяра

модератор форума
Регистрация: Sep 2003
Адрес: Ближайшее Замкадье
Сообщений: 3,110
Записей в блоге: 28
Отправить сообщение для Котяра с помощью ICQ Отправить сообщение для Котяра с помощью Skype™
Цитата:
А this зачем Вы убрали в своих конструкциях? Тем самым вы нарушаете течение дзю у человека. Не забывайте об этом.
this убран т.к. скорей предлагается не делать это методами искомого числа,
а просто возвращать значение в функции.
Ки циркулирует нормальн)
__________________
Отряд Котовскага

Старый 23.09.2010, 09:13
f.g.programmer вне форума Посмотреть профиль Отправить личное сообщение для f.g.programmer Найти все сообщения от f.g.programmer
  № 7  
Ответить с цитированием
f.g.programmer
 
Аватар для f.g.programmer

блогер
Регистрация: Sep 2010
Адрес: Россия
Сообщений: 137
Записей в блоге: 3
Не, всё-таки дзю я нарушил, если бы имел ввиду возвращение значения в функции, убрал бы и подчёркивание.

this я практически не использую (иногда, чтобы передать объектом ссылку на себя),
конфликтов имён избегаю за счёт правил именования переменных: _имя_поля_класса, имя_локальной_переменной

Старый 23.09.2010, 17:34
gloomyBrain вне форума Посмотреть профиль Отправить личное сообщение для gloomyBrain Найти все сообщения от gloomyBrain
  № 8  
Ответить с цитированием
gloomyBrain
 
Аватар для gloomyBrain

блогер
Регистрация: Mar 2008
Адрес: РФ, Санкт-Петербург
Сообщений: 2,272
Записей в блоге: 5
Отправить сообщение для gloomyBrain с помощью ICQ Отправить сообщение для gloomyBrain с помощью Skype™
@dimarik
Цитата:
Опять нет повода не обратиться в jira адоба?
Ну, как уже заметили, смотря какой результат считать верным. Math.floor, как я понимаю, округляет в меньшую сторону - так что с ним все как надо

Цитата:
но у тебя ошибки в коде
int(this._value % 1) - всегда возвращает нуль,
для получения целой части в этом смысле достаточно: int(_value)
Да, меня серьёзно закоротило =)
Конечно, %1 вернет дробную часть, а не целую
__________________
...вселенская грусть

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

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

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


 


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


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