Страница 1 из 4 123 ... ПоследняяПоследняя
Показано с 1 по 10 из 35

Тема: Как посчитать остаток от деления числа с плавающей запитой?

  1. #1
    Пользователь
    Регистрация
    31.01.2015
    Адрес
    Новосибирск
    Сообщений
    87

    По умолчанию Как посчитать остаток от деления числа с плавающей запятой?

    Здравствуйте!

    Есть число более 10 знаков (Целочисленный тип не подходит).
    Значит использую тип с плавающей запятой.

    Мне необходимо узнать последние четыре знака перед запятой.
    Подскажите как это сделать?

    Например в python это выглядит так (значение % 10000).
    Как реализовать в Owen Logic?
    Последний раз редактировалось ProRus; 07.10.2022 в 12:32.

  2. #2

    По умолчанию

    Не понятно что нужно сделать. Узнать результат дробной части деления или просто узнать последние 4 знака после запятой?

  3. #3

    По умолчанию

    Цитата Сообщение от ProRus Посмотреть сообщение
    Здравствуйте!

    Есть число более 10 знаков (Целочисленный тип не подходит).
    Значит использую тип с плавающей запятой.

    Мне необходимо узнать последние четыре знака перед запятой.
    Подскажите как это сделать?

    Например в python это выглядит так (значение % 10000).
    Как реализовать в Owen Logic?
    И в Лоджике и в Кодесис точно также можно умножить Float на 10000 и конвертировать в целочисленное но только до 10 знаков и не больше 4294967295.
    Последний раз редактировалось kondor3000; 07.10.2022 в 13:35.

  4. #4

    По умолчанию

    udResult := real_to_udint(input) - (real_to_udint (input / 10000) * 10000);
    если в диапазон udint влезаете
    Последний раз редактировалось 1exan; 07.10.2022 в 13:18.

  5. #5

    По умолчанию

    Цитата Сообщение от 1exan Посмотреть сообщение
    udResult := real_to_udint(input) - (real_to_udint (input / 10000) * 10000);
    если в диапазон udint влезаете
    Если исходить из условий задачи то вряд ли влезет

  6. #6
    Пользователь
    Регистрация
    31.01.2015
    Адрес
    Новосибирск
    Сообщений
    87

    По умолчанию

    То что нужно, но если значение real больше 10-ти символов, выдает погоду.
    А real_to_lint не работает.
    2022-10-07_17-35-10.png
    Похоже нужно алгоритм полностью менять.
    Последний раз редактировалось ProRus; 07.10.2022 в 13:40.

  7. #7

    По умолчанию

    Цитата Сообщение от ProRus Посмотреть сообщение
    То что нужно, но если значение real больше 10-ти символов, выдает погоду.
    А real_to_lint не работает.
    2022-10-07_17-35-10.png
    Похоже нужно алгоритм полностью менять.
    В лоджике нет 32-х разрядного целого...
    Пардон, 64-х разрядного целого После ковида башка вообще не але...
    Последний раз редактировалось Godlike_S; 07.10.2022 в 14:01.

  8. #8
    Пользователь
    Регистрация
    31.01.2015
    Адрес
    Новосибирск
    Сообщений
    87

    По умолчанию

    Я уже понял.
    Значит задачка невыполнима.

  9. #9

    По умолчанию

    Цитата Сообщение от ProRus Посмотреть сообщение
    Я уже понял.
    Значит задачка невыполнима.
    Сейчас проверю одну идею... Был бы кодесис, там со строками это на раз-два

  10. #10
    Пользователь
    Регистрация
    31.01.2015
    Адрес
    Новосибирск
    Сообщений
    87

    По умолчанию

    Идея была следующей.
    Хотел передавать через сетевую переменную (для экономии переменных) длинное число и вычленять из него необходимые данные, записывая в переменные. Возможно подскажите другой вариант?
    Например:
    ccmmssddmmyyyytthhll
    cc - время
    mm - месяц
    ss - секунды
    dd - день
    mm - месяц
    yyyy - год
    tt - температура
    hh - влажность
    ll - освещенность

Страница 1 из 4 123 ... ПоследняяПоследняя

Похожие темы

  1. Ответов: 4
    Последнее сообщение: 25.10.2019, 11:07
  2. Ответов: 1
    Последнее сообщение: 04.09.2019, 09:04
  3. Ответов: 2
    Последнее сообщение: 21.10.2018, 14:05
  4. Чем посчитать обороты двигателя?
    от bestbat в разделе Подбор Оборудования
    Ответов: 12
    Последнее сообщение: 11.01.2018, 11:34
  5. ТРМ138 и Modbus RTU и числа с плавающей запятой
    от Dinf в разделе Помощь Разработчикам
    Ответов: 2
    Последнее сообщение: 10.06.2013, 13:18

Ваши права

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