2013-09-25 3 views
1

Firebase Java API는 Long이 setValue()에 전달할 유효한 유형임을 지정합니다. JavaScript는 Java의 "double"과 동일한 단일 숫자 유형 만 지원합니다. 그래서 자바 스크립트에서 숫자를 삽입하고 나중에 Java에서 검색하면 Long 또는 Double을 얻게됩니까? JavaScript 클라이언트가이 유형을 생성 할 수있는 방법이없는 것처럼 보이는 크로스 플랫폼 Firebase 코드에서 Longs를 사용하는 것은 나쁜 생각입니까?Firebase는 long과 double을 어떻게 처리합니까?

답변

2

숫자는 서버의 Longs 또는 Doubles에 슬롯됩니다. 숫자가 정확히 Long으로 매핑되면 (즉, Longs 범위 내에 있고 소수점이없는 경우) Long으로 저장됩니다. 그렇지 않으면 Double로 저장됩니다.

자바 스크립트는 걷고에 올 때 자바 이하의 정밀도를 가지고,하지만 당신은 자바 스크립트의 범위 내에서 유지, 당신은 걷고에게 크로스 플랫폼 사용에 문제가 안된다.

+0

JavaScript에서 소수점이없는 숫자를 삽입하면 여기에 대한 대답이 명시 적으로 나타납니다. Java에서 Long으로 표시됩니다. 맞습니까? –

+0

수정하십시오. Javascript는 2^53에서 정밀도를 잃기 시작하므로 더 큰 숫자를 다루는 경우 자바 스크립트를 사용하여 재검토하거나 대체 표현을 사용하는 것이 좋습니다. 자바 스크립트의 숫자에 대한 자세한 내용은 http://stackoverflow.com/questions/307179/what-is-javascripts-max-int-whats-the-highest-integer-value-a-number-can-go-t를 참조하십시오. –

관련 문제