추가 두 숫자는 그래서, 나는 그것이 수의 최대 값을 초과 생각, 올바른 결과
var n1:Number = 2785077255;
var n2:Number = 100000097214922752;
trace(Number(n1 + n2));//trace 100000100000000000, not 100000100000000007
trace((Number.MAX_VALUE - Number(n1 + n2)) > 100);//trace true
을하지 않는
을하지 않습니다 나는 그것을 테스트하고 내가 생각한 것처럼 거짓을 추적하지 않는다.
당신은 최대 값을 초과하지했습니다 (이
lodgamebox
라이브러리에서LongInt
을 기반으로) 한 번 만든 유틸리티 방법을 사용할 수 있습니다 그러나 당신은'Number'의 최대 정밀도 *를 초과했습니다. – Phylogenesis@Phylogenesis 그래서 당신이 올바른 결과를 그냥이 같은 숫자를 추가 할 수 없다는 뜻입니까? – Pan
'Number'는 부동 소수점 표현입니다. 64 비트 배정 밀도 값으로 저장됩니다. 자세한 내용은 [이 링크] (http://en.wikipedia.org/wiki/Double-precision_floating-point_format)를 참조하십시오. 기본적으로 임의의 값을 저장할 수 없습니다. – Phylogenesis