Регистрация | Вход

[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Модератор форума: demanik, ivan_fd  
Округление значения
k2mozganet Дата: Пн, 14.03.2011, 09:55  |                                                                                                                Сообщение # 1
Группа: Проверенные
Ранг:  Начал соображать
Сообщений: 23
Репутация: 0   ±
Замечания:   ±
На сайте с 20.11.2010

Статус: Offline

Уважаемые форумчани, нужна помощь...
Есть например переменная FLOAT c значением 23.000
Можно ли как-то отделить целое число от дробной части и записать в обычную переменную WORD??? И как это сделать???
ЯНДЕКС Дата: 14.03.2011
ivan_fd Дата: Пн, 14.03.2011, 11:19  |                                                                                                                Сообщение # 2
Группа: Модераторы
Ранг:  Специалист
Сообщений: 894
Репутация: 124   ±
Замечания:   ±
На сайте с 12.01.2009

Статус: Offline

А так Вам не подходит?

Code
dim qqq as float
dim aaa as word

qqq = 23,000

aaa = qqq ; aaa будет равен 23
ADMIN Дата: Пн, 14.03.2011, 12:20  |                                                                                                                Сообщение # 3
Администратор
Группа: Администраторы
Ранг:  Специалист
Сообщений: 1086
Репутация: 32   ±
Замечания:   ±
На сайте с 20.08.2007

Статус: Offline

В мануале сказано следующее:
Code

Dim Dwd as Dword
Dim Flt as Float
Symbol PI = 3.14
Flt = 10
Dwd = Flt + PI ' Float calculation will result 13.14,reduced to integer 13
Print Dec Dwd ' Display the integer result 13
Stop

То есть при записи переменной FLOAT в переменную DWORD, в него будет записано целое без долей число.

И еще вот:

Floating Point Rounding
Assigning a floating point variable to an integer type will be rounded to the nearest value by default. For
example:
FloatVar = 3.9
DwordVar = FloatVar
The variable DwordVar will hold the value of 4.
This behaviour can be altered by issuing the Float_Rounding = Off declare before the conversion takes
place. For example:
Declare Float_Rounding = Off ' Disable Floating Point Rounding
FloatVar = 3.9 ' Load FloatVar with the value of 3.9
DwordVar = FloatVar ' Truncate 3.9 into FloatVar
The variable DwordVar will hold the value of 3. i.e truncated

The Float_Rounding setting will be remembered, as none of the compiler’s floating point library routines
alter it. However, remember that Floating Point rounding will effect Addition, Subtraction, Division, and
Multiplication accuracy. It is therefore recommended to re-enable rounding after it has been disabled.

Declare Float_Rounding = Off ' Disable Floating Point Rounding
FloatVar = 3.9 ' Load FloatVar with the value of 3.9
DwordVar = FloatVar ' Truncate 3.9 into FloatVar
Declare Float_Rounding = On ' Enable Floating Point Rounding

Note that the Float_Rounding declare will not effect loading a floating point constant value into an integer.
This will always be truncated. For example:
WordVar = 3.9
The variable WordVar will contain the value 3.

k2mozganet Дата: Пн, 14.03.2011, 23:46  |                                                                                                                Сообщение # 4
Группа: Проверенные
Ранг:  Начал соображать
Сообщений: 23
Репутация: 0   ±
Замечания:   ±
На сайте с 20.11.2010

Статус: Offline

Уважаемый ADMIN, а в каком мануале это сказано???? Перехожу с PicBasicPro на протон.... а литературы кроме как на terrarus.ucoz.ru, больше не видел...
ADMIN Дата: Вт, 15.03.2011, 06:44  |                                                                                                                Сообщение # 5
Администратор
Группа: Администраторы
Ранг:  Специалист
Сообщений: 1086
Репутация: 32   ±
Замечания:   ±
На сайте с 20.08.2007

Статус: Offline

Здесь последняя версия протона для XP. У него PDF help. Вот в нем и написано все. А вообще походите по сайту. Там в архиве много чего есть полезного.
  • Страница 1 из 1
  • 1
Поиск: