22 Сентября 2024, 16:25:36
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.

Навигация по форуму







guest3d
Quest3D - Русскоязычное сообщество > Quest3D > Программирование > Удаление дробной части числа
Удаление дробной части числа
(Прочитано 8798 раз)
  [1]
Печать
Amigo | * | Новичок | Сообщений: 35 | « 18 Декабря 2008, 10:41:53 »
Удаление дробной части числа |
0
Всем привет. Ктонить подскажет как можно выполнить сие действие? Например, есть число 34,56 то в итоге должно остаться 34.
На языке было бы чтото вроде
double x = 34.56;
int y;
y = x;
а тут хз.
Может нода какаято есть, на вход которой идет дробная часть, на выходе целая? Типа VALUE OPERATOR, но там только text to integer, а мне нужно double to integer.
Viik | **** | Старожил | Сообщений: 302 | «Ответ #1 18 Декабря 2008, 11:24:33 »
Re: Удаление дробной части числа |
1
В ченеле Expression value есть функция FLOOR(A), она возвращает целую часть числа.
Amigo | * | Новичок | Сообщений: 35 | «Ответ #2 18 Декабря 2008, 12:01:14 »
Re: Удаление дробной части числа |
2
спасибо!
Const_47 | **** | Старожил | Сообщений: 299 | «Ответ #3 18 Декабря 2008, 21:26:39 »
Re: Удаление дробной части числа |
3
А что делать если мне нужна фиксированная точность?
Ну например три цифры после точки?
То есть, что бы даже вот такое 1 выглядело вот так 1.000 
Viik | **** | Старожил | Сообщений: 302 | «Ответ #4 18 Декабря 2008, 23:58:42 »
Re: Удаление дробной части числа |
4
тогда делаем вот так:
A - исходное число
X - искомое число
Variant 1:
B = FLOOR(A*1000)
X = B/1000
Отрезаеться все кроме 3-ч чисел дробной части.

Variant 2:
B = ROUND(A*1000)
X = B/1000;
Здесь значение округляеться до ближайшего.

Variant 3:
 Там еще есть битовые операции, я с ними не разбирался но поидее можно ограничить точность с помощью них.
« Последнее редактирование: 19 Декабря 2008, 00:07:00 от Viik »
Const_47 | **** | Старожил | Сообщений: 299 | «Ответ #5 19 Декабря 2008, 22:30:50 »
Re: Удаление дробной части числа |
5
Тут я скорее не так задал вопрос, мне фиксированная точность не нужна для просчетов, а элементарно вывести результат на экран с такой точностю.

0.010*1000 = 10
floor(10) = 10

10/1000 = 0.010

из чего Квест мне 100% сделает 0.01

Битовые операции тут не помогут.


Есть конешно вариант, что-то типа if x < 0.011 но это через
жо..
Тут бы больше подошло что то вроде флагов форматирования потока. Пока смотрю Lua String.
 
  [1]
Печать
 
Quest3D - Русскоязычное сообщество > Quest3D > Программирование > Удаление дробной части числа
Перейти в: