Форум поддержки пользователей. LibreOffice, Apache OpenOffice, OpenOffice.org

Форум поддержки пользователей. LibreOffice, Apache OpenOffice, OpenOffice.org

19 Октябрь 2018, 06:02 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
Новости: Часто задаваемые вопросы по LibreOffice и Apache OpenOffice.org
 
   Начало   Помощь Поиск Войти Регистрация    задать вопрос  
Страниц: 1   Вниз
  Печать  
Автор Тема: Создаю формулу: Она считается нормально: получается 4,...  (Прочитано 905 раз)
0 Пользователей и 1 Гость смотрят эту тему.
ForumOOo (бот)

Offline Offline

Сообщений: 650


« Стартовое сообщение: 26 Апрель 2018, 22:40 »

Компонент: Общие вопросы
Версия продукта: 5.x
Сборка: LibreOffice
ОС: Win10

Создаю формулу:
Она считается нормально: получается 4,62 (B27=1200)
Но если я хочу добавить в формулу текст: =B27/26000*100 &"%"
То результат отображается без округления: 4,61538461538462%
При этом, никакие команды для округления до двух знаков после запятой не действуют. Помогите разобраться.
Спасибо.


--
Подпись: Rager
Записан
mikekaganski
Мастер
*****
Offline Offline

Пол: Мужской
Расположение: Хабаровск -> Москва
Сообщений: 1 063


« Ответ #1: 26 Апрель 2018, 23:00 »

1. Необходимо понимать, что число и представление числа - разные вещи. При выполнении арифметических операций в памяти программы получается число ~4,61538461538462. Оно *отображается* с двумя знаками по умолчанию, но это не значит, что оно само округляется.

2. При преобразовании числа в текст никаких "умолчаний" нет: число выводится с максимальным числом значимых разрядов. Поэтому если нужно применить какое-то форматирование, нужно пользоваться функцией TEXT. Синтаксис её строки формата приведён здесь.

3. Скорее всего, высказывание "При этом, никакие команды для округления до двух знаков после запятой не действуют" неточно, потому что правильно применённое округление, такое как =ROUND(B27/26000*100;2) &"%", прекрасно работает. Предположительно Вы пытались "округлить" строку, что, понятно, не имеет смысла.

4. И наконец, вопрос: а зачем это всё? Я могу представить себе ситуацию, когда действительно необходимо преобразовывать числа в строки; но чаще всего люди пытаются это сделать по незнанию, вместо того, чтобы воспользоваться числовым форматом ячейки (Ctrl+1), где формула =B27/26000 (без ненужного деления на 100!) представляется с форматированием "Процент", и при необходимости указывается число знаков после запятой. При этом число в ячейке не только представлено в нужном виде (который можно подгонять под свои потребности, воспользовавшить синтаксисом форматов по ссылке выше), но и может дальше использоваться в расчётах.
Записан

С уважением,
Михаил Каганский
Bigor
Опытный пользователь
***
Offline Offline

Пол: Мужской
Сообщений: 314


« Ответ #2: 26 Апрель 2018, 23:01 »

не надо добавлять *100 &"%" , в результате получим текст, и он не форматируется
Нужно просто указать формат ячейки процентный 0,00%
Записан
Страниц: 1   Вверх
  Печать  
 
Перейти в:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!