У меня небольшая проблема с двойным значением на моем листе excel. Двойное значение является результатом вычисления макросов. Отображается в ячейке как 1.0554
. Формат ячейки - это номер с 4 десятичными знаками. Если я выберу более десятичное число, он будет отображаться с завершающим 0s (E.G. 1.05540000
).Число с плавающей запятой в Excel
Моя проблема в том, что я читаю этот файл с помощью jxls (который использует Apache POI), а значение, которое я получаю, не 1.0554
, а 1.0554000000000001
(последний 1 на 16-й цифре).
Я конвертировал свои xls в xlsx, проверяю непосредственно внутри xlsx (это zip-файл, содержащий xml-файлы, поэтому файл ascii), а сохраненное значение - 1.0554000000000001
; но даже если я отформатирую свою ячейку как число с 32 десятичными знаками, excel по-прежнему отображает 1.0554000...000
без каких-либо задержек 1.
Так что я полагаю, что в xls реальное число также сохраняется как 1.0554000000000001, а не 1.0554.
Итак, как отображать в excel значение реального сырья? или заставить excel сохранить 1.0554 вместо 1.05540000 ... 01? Или проверить с макросом, что отображаемое значение не является исходным значением? ...
Я внес несколько незначительных изменений в этот вопрос - в основном, для незначительных поправок в грамматике (ничего значительного, ваш английский довольно хорош). Просто отметьте, что я изменил «Leading» на «Trailing». Отображается с ведущими 0 будет выглядеть так: '00001.0554', в то время как конец 0 будет выглядеть так:' 1.05540000'. Это не слишком важно, но это может привести к путанице в будущем. – Pokechu22
Прочтите эту [ссылку] (http://superuser.com/questions/522106/why-does-an-excel-column-formatted-as-number-lose-its-leading-zero-when-the-colu), возможно, это может вам помочь. – zoit