Почему xls2csv в Spreadsheet :: XLSX :: Utility2007 округляется до двух десятичных разрядов?
Вопрос
Я пишу скрипт на Perl / Tk, который отображает листы Excel с использованием примера скрипта ss2tk из модуля Spreadsheet :: Read. Он не округляет два десятичных знака, а выполняет функцию из электронной таблицы :: XLSX :: Utility2007 округляет до двух знаков после запятой. Зачем? Я пытаюсь использовать эту вторую функцию в качестве функции моей программы, чтобы предложить преобразование отображаемых листов в файлы CSV.
Решение
Я вижу, вы смогли получить ответ в PerlMonks с помощью frieduck (любое отношение к friedo ?), Поэтому я связываю это для пользы ТАКИХ людей. Р>
Подводя итог, в основном оказалось, что внутренности Spreadsheet :: XLSX :: Utility2007 автоматически применяли формат с двумя десятичными разрядами при получении значений ячеек. Были предложены два обходных пути:
<Ол> В любом случае, также было упомянуто, что вам лучше всего определить подпрограмму local
для выполнения измененного поведения, чтобы не было никаких неприятных сюрпризов в результате изменения модуля. на месте.