2017-11-13 8 views
1

documentation은 실제로 Float32 및 Float64의 동작을 설명하지 않고 왜 그럴 수 없으니까요.클릭 하우스 테이블에서 부동 소수점 표현이 왜 적합하지 않습니까?

콘솔 CLI 요청 또는 휴식 요청으로 논문을 사용할 때 이상한 동작을보고 있기 때문에이 질문을하고 있습니다. clickhouse에 전송 된 부유 값은 정밀도에 관계없이 마지막 자릿수에서 약간 수정됩니다. 예 : 1258.021545 1258.0215453

이 값을 삽입 할 때마다 마지막 숫자가 변경됩니다. problème가 a에서 온다고 생각하지 않습니다.이 값은 java double에서 비롯되었으므로 높은 정밀도 값으로 간주됩니다.

+0

자세한 내용을 추가 할 수 있습니까? – Slach

+0

1258.021545를 삽입했지만 1258.0215453이 삽입 된 것으로 보입니까? 더 많은 설명이 필요합니다. –

+0

네, 그래요. 무슨 설명 이요? – crak

답변

0

Clickhouse 문서 dicourages Floatrounding error입니다. 그것은 Clickhouse 자체와 관련이 없으며 오히려 real number representations의 알고리즘입니다. 가끔씩 오류가 발생하는 경우가 아니라면 수레를 사용하십시오. 하지만 돈을 나타내는 숫자를 저장해야합니까, 수레는 no-go 영역입니다.이 경우 정수로 두 개의 다른 필드에 소수점 왼쪽과 오른쪽을 저장하십시오