있다수많은 스레드이 주제에 대해서는 간단하고 확실한 답변이 없습니다.
스크립트로 생성된 .csv 파일에서 셀 반올림을 영구적으로 비활성화하는 방법을 알려주실 수 있습니까?
기본적으로 '377635637222436751'이(가) '로 변환되고 있습니다.377635637222437000' 자동으로 발생하며 이는 내 요구에 실제로 허용되지 않습니다.
나는 이것을 시도했습니다 :
도구->옵션->계산->"표시된 정밀도" 계산
이:
서식 > 셀 > 숫자 > 범주 > (아래로 스크롤하여 텍스트).
(그러나 내 스크립트가 .csv를 생성한다는 점을 고려하면 이 옵션은 파일이 생성된 후에 수행되어야 하므로 그다지 좋지 않습니다.)
그리고 둘 다 작동하지 않습니다. 파일이 생성된 후 열의 서식을 지정한 후에도 숫자는 반올림된 상태로 유지됩니다.
누구든지 어떤 제안이 있습니까?
답변1
내가 아는 바로는 LibreOffice에는 임의의 정밀도 숫자(십진수 또는 정수)가 없습니다. 그래서 숫자라면긴 정수의 범위를 초과합니다.그것은IEEE754 번호로 저장됨그래서 정밀도가 제한되어 있습니다.
따라서 기본적으로 Calc에서는 임의의 정밀도로 계산을 수행할 수 없으며, 긴 숫자를 숫자로 읽으려면 반올림해야 합니다.
계산을 할 필요가 없다면 문자열을 사용하세요. 당신의 csv
:
,
,
,12345678901234678901234567890
,"123456789012345678901234567890"
(인용 부호에 주목하세요) 그리고 읽을 때 "인용된 필드를 텍스트로"와 올바른 텍스트 구분 기호를 추가했는지 확인하세요.
...그리고 당신이 가진 것은
이제 --- 문자열을 터치하고 변환하고 평가하면 --- 반올림이 다시 시작됩니다.
어쩌면 64비트 정수인 통화 유형을 사용할 수도 있지만, 내가 아는 한 csv
.