• Добро пожаловать на Quest3D - Русскоязычное сообщество.
 

Удаление дробной части числа

Автор Amigo, 18 декабря 2008, 10:41:53

« назад - далее »

Amigo

Всем привет. Ктонить подскажет как можно выполнить сие действие? Например, есть число 34,56 то в итоге должно остаться 34.
На языке было бы чтото вроде
double x = 34.56;
int y;
y = x;
а тут хз.
Может нода какаято есть, на вход которой идет дробная часть, на выходе целая? Типа VALUE OPERATOR, но там только text to integer, а мне нужно double to integer.

Viik

В ченеле Expression value есть функция FLOOR(A), она возвращает целую часть числа.

Amigo


Const_47

А что делать если мне нужна фиксированная точность?
Ну например три цифры после точки?
То есть, что бы даже вот такое 1 выглядело вот так 1.000 

Viik

#4
тогда делаем вот так:
A - исходное число
X - искомое число
Variant 1:
B = FLOOR(A*1000)
X = B/1000
Отрезаеться все кроме 3-ч чисел дробной части.

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

Variant 3:
Там еще есть битовые операции, я с ними не разбирался но поидее можно ограничить точность с помощью них.

Const_47

Тут я скорее не так задал вопрос, мне фиксированная точность не нужна для просчетов, а элементарно вывести результат на экран с такой точностю.

0.010*1000 = 10
floor(10) = 10

10/1000 = 0.010

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

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


Есть конешно вариант, что-то типа if x < 0.011 но это через
жо..
Тут бы больше подошло что то вроде флагов форматирования потока. Пока смотрю Lua String.