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

[Логика]вывод значений с указанной точностью (переимен. округление?)

Автор anval, 29 мая 2009, 14:36:41

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

anval

Всем привет.Как убрать округление?Мне нужны числа с 7 знаками после запятой.

Denil-Tornado

Смотря что ты хочишь замутить и какие ноды ты используешь.

anval

Видимо седьмой знак "прячется":).Т.к.при умножении на 10 000 000 он появляется.Так что посмотрим что получится...

mixey

На этот вопрос кто-нибудь знает ответ?
Мне для вывода данных нужны три знака после запятой! Внутри рассчетов в value много знаков, а когда выводишь текст, то происходит округление, как быть?

DimiS

есть два варианта: подождать выхода версии 4.3 -- там для Text Operator-а добавили возможность вывода чисел с указанной точностью
Или вручную -- разделить число на целую и дробную часть, дробную часть умножить на 10 в степени нужной тебе точности(на 1000 для 3-ёх знаков). И потом смержить три куска текста: целое от исходного значения + "."(ну или запятую) + целое от дробной части умноженной на 10 в степени N, где N -- количество знаков после запятой. Надеюсь доступно объяснил ;)

mixey

Ога, все понятно, спасиба! Конечно удобнее подождать новую версию Квеста, но за не имением таковой сейчас, пользоваться  изощренными способами!  :D

mixey

Возникла неприятная проблема при таких выкрутасах!
Если взять число 2.0123, то алгоритм такой:

  • целое - 2, дробное - 0.0123
  • после умножения в дробной части выходит 123
  • и если соеденить через точку, то выйдет 2.123

Есть какой-то оптимальный способ решения данной проблемы или единственный вариант коннектить сложную систему проверок на нули?

DimiS

Да, чёто забыл про такой ньюанс.
Ну в общем прийдёцца делать проверку, и не такая она уж и сложная.
Могу ещё посоветовать попробовать сделать форматирование в луа скрипте, не уверен умеет ли он.
Ну а вобще версия 4.3 уже вышла, думаю кряк тоже уже на подходе)