LibreOffice Calc - Desativar arredondamento

2

Há um toneladas de tópicos sobre este tópico, mas sem respostas simples e definitivas.

Alguém pode me dizer como desativar permanentemente o arredondamento de células no arquivo .csv que é 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- > Calcular- > Calcular "Precisão conforme mostrado"

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

E nem está funcionando. O número permanece arredondado - mesmo depois de formatar a coluna depois que o arquivo é criado.

Alguém tem alguma sugestão?

    
por BeMy Friend 25.03.2015 / 02:07

1 resposta

1

Para o que eu sei, o LibreOffice não possui números de precisão arbitrária (decimal ou inteiros). Portanto, se o número exceder o intervalo de um inteiro longo , ele é armazenado como um número IEEE754 e 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 você não precisa fazer cálculos, use uma string; coloque em seu csv :

,
,
,12345678901234678901234567890
,"123456789012345678901234567890"

(observe as aspas) e, em seguida, ao ler, certifique-se de adicionar "campo entre aspas como texto" e o delimitador de texto correto:

...evocêtem

Agora --- se você tocar, transformar, eval a corda --- você terá o arredondamento chutando novamente.

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

    
por Rmano 25.03.2015 / 10:44