저는 KineticJS를 사용하여 많은 변형을 만듭니다. 다음과 같이 :KineticJs : int 또는 double을 사용 하시겠습니까?
var baseX = pos.x;
var baseY = pos.y;
var w = self.getWidth();
var h = self.getHeight();
var halfW = w/2;
var halfH = h/2;
var aspectRadian = Math.atan2(halfH, halfW);
아주 빨리 정수는 두 자리 숫자로 바뀝니다. 그러면 어떻게 처리할까요? 예를 들어 Rect의 위치를 설정해야하는 경우를 예로들 수 있습니다. 나는 KineticJS는 내부적으로 반올림을하게하거나 이중 숫자와 함께 작동 할 수 있음을 추측
rect.x(10.3);
: 더 반 어떤 이해가되지 않습니다 다음 픽셀가 없기 때문에 나는
rect.x(10);
을한다.
KineticJS로 작업 할 때 int 또는 double을 사용하는 것이 더 좋습니까? 하나 또는 다른 솔루션으로 성능 문제 또는 반올림 오류가 발생합니까? 가능한 한 정확하도록 항상 double을 사용해야합니까?
JavaScript는 항상 float를 내부적으로 사용하며 KineticJS는 정수로 반올림하지 않습니다. BTW, 실제로는 반 화소입니다 - 당신은 x = 10.50로 rect를 그릴 수 있으며 디스플레이의 반 화소 경계에 나타납니다. 조언 : 좌표를 조정하지 않아도됩니다. – markE
@markE 그래서 int number로 시작할 때도 항상 double을 사용해야합니까? – confile
JavaScript는 내부적으로 모든 숫자를 float 형식으로 변환합니다. 따라서 int [예 : parseInt (20.22)]를 제공하면주의 깊게 boxed 된 int가 자동으로 매우 정확한 float (20.000000001)가됩니다. 그러므로 어떤 전환도 신경 쓰지 마세요. :-) – markE