Задать вопрос
@OwDafuq

Почему Excel превращает число с точкой в какое-то странное число с точкой?

Имеется Excel файл (.xlsx), с денежными данными.
Изначально он формируется из своего ПО через библиотеку для Excel'я.
В ячейке, например, есть значение:
1154.88

Если открыть лист через xml, то там так и будет 1154,88.
А если потом отредактировать первый лист и сохранить файл, то 1154.88 превращается в
1154.8800000000001


Почему так происходит? Повторяется и на 2007 версии, и на 2021.
Пробовал =ОКРУГ(1154.88; 2), а в результате ровно тоже самое.

Как это можно пофиксить и из-за чего это происходит?

Как это выглядит в xml:
<row r="4" spans="1:9">
            <c r="A4" t="s">
                <v>25</v>
            </c>
            <c r="B4" t="s">
                <v>27</v>
            </c>
            <c r="C4" s="12">
                <v>384.96</v>
            </c>
            <c r="D4" s="13">
                <v>1154.8800000000001</v>
            </c>
            <c r="E4" s="14">
                <v>0</v>
            </c>
            <c r="F4" s="15">
                <v>1430.91</v>
            </c>
            <c r="G4" s="16">
                <v>0</v>
            </c>
            <c r="H4" s="17">
                <v>108.93</v>
            </c>
        </row>
  • Вопрос задан
  • 80 просмотров
Подписаться 1 Простой Комментировать
Пригласить эксперта
Ответы на вопрос 2
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
из-за чего это происходит?

Обычная погрешность представления числа в IEEE 754
0.30000000000000004.com
Фиксится только использованием специальных форматов (DECIMAL или FIXED) для финансовых операций или работой в целых числах.
Ответ написан
Комментировать
@alexalexes
Для этого поля нужно зафиксировать формат ячейки как "Денежный".
При редактировании оригинальный MS Excel воспринимает ячейку в формате с плавающей точкой.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы