LibreOffice Calc — Отключить округление

LibreOffice Calc — Отключить округление

Естьтонна потоковпо этой теме, но простых и однозначных ответов нет.

Может ли кто-нибудь подсказать мне, как навсегда отключить округление ячеек в CSV-файле, созданном скриптом?

По сути, '377635637222436751' преобразуется в '377635637222437000' автоматически, и это не совсем приемлемо для моих нужд.

Я попробовал это:
Инструменты->Параметры->Расчет->Расчет "Точность как показано"

и это:
Формат > Ячейки > Числа > Категория > (прокрутите вниз) Текст.
(но учитывая, что мой скрипт создает .csv -- этот вариант не очень хорош, так как это нужно делать после создания файла)

И ни один из них не работает. Число остается округленным — даже после форматирования столбца после создания файла.

У кого-нибудь есть предложения?

решение1

Насколько мне известно, в LibreOffice нет чисел произвольной точности (десятичных или целых). Так что если числопревышает диапазон длинного целого числаэтохранится как номер IEEE754и поэтому он имеет ограниченную точность.

Таким образом, по сути, в Calc нельзя выполнять вычисления с произвольной точностью, и если вы хотите прочитать длинное число как число, вам придется его округлить.

Если вам не нужно выполнять вычисления, используйте строку; введите csv:

,
,
,12345678901234678901234567890
,"123456789012345678901234567890"

(обратите внимание на кавычки) и затем при чтении обязательно добавьте «цитируемое поле как текст» и правильный разделитель текста:

импорт csv

...и у вас есть

результат

Теперь, если вы коснетесь, преобразуете, оцените строку, округление снова включится.

Возможно, вы можете использовать тип валюты, представляющий собой 64-битное целое число, но, насколько мне известно, нет способа принудительно задать это через csv.

Связанный контент