LibreOffice Calc - Desativar arredondamento

LibreOffice Calc - Desativar arredondamento

Há umtonelada de tópicossobre este tema, mas não há respostas simples e definitivas.

Alguém pode me dizer como desativar permanentemente o arredondamento de células no arquivo .csv criado pelo script?

Basicamente, '377635637222436751'está sendo convertido para'377635637222437000' automaticamente e isso não é realmente aceitável para minhas necessidades.

Eu tentei isso:
Ferramentas->Opções->Calc->Calcular "Precisão conforme mostrado"

e isto:
Formatar > Células > Números > Categoria > (role para baixo para) Texto.
(mas considerando que meu script cria o .csv - esta opção não é muito boa, pois deve ser feita após a criação do arquivo)

E nenhum dos dois está funcionando. O número permanece arredondado - mesmo após a formatação da coluna após a criação do arquivo.

Alguém tem alguma sugestão?

Responder1

Pelo que sei, o LibreOffice não possui números de precisão arbitrários (decimais ou inteiros). Então se o númeroexcede o intervalo de um número inteiro longoisso éarmazenado como um número IEEE754e por isso tem uma precisão limitada.

Então, basicamente, você não pode fazer cálculos com precisão arbitrária no Calc, e se quiser ler o número longo como um número, ele será arredondado.

Se não precisar fazer cálculos, use uma string; coloque o seu csv:

,
,
,12345678901234678901234567890
,"123456789012345678901234567890"

(observe as aspas) e ao lê-lo certifique-se de adicionar "campo entre aspas como texto" e o delimitador de texto correto:

importando csv

...e você tem

resultado

Agora --- se você tocar, transformar, avaliar a string --- você terá o arredondamento entrando em ação novamente.

Talvez você possa usar o tipo de moeda que é um número inteiro de 64 bits, mas até onde eu sei não há como forçar isso via csv.

informação relacionada