Создаю формулу: Она считается нормально: получается 4,...

Автор ForumOOo (бот), 26 апреля 2018, 22:40

0 Пользователи и 1 гость просматривают эту тему.

ForumOOo (бот)

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

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


--
Подпись: Rager

mikekaganski

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

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

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

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

bigor

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