부호없는 int64 (VT_UI8) 값을 반환하는 메서드가있는 COM 객체가 있습니다. 우리는 COM 개체를로드하는 방법에 전화를 걸 수있는 몇 가지 자바 스크립트가 포함 된 HTML 페이지가, 같은 값을 검색하기 :int64 값을 JavaScript의 Number 객체로 변환
var foo = MyCOMObject.GetInt64Value();
이 값은 쉽게 메시지 대화 상자에서 사용자에게 표시 할 수 있습니다 사용 :
alert(foo);
또는하여 페이지에 표시 : 페이지 던져없이 (우리는 2를 곱하려고하면 예를 들어) 그러나
document.getElementById('displayToUser').innerHTML = foo;
, 우리는 숫자로이 값을 사용할 수 없습니다 g "예상 번호"오류. "typeof (foo)"를 체크하면 "unknown"을 반환합니다.
나는 다음을 수행하여 이것에 대한 해결 방법을 발견했습니다
document.getElementById('displayToUser').innerHTML = foo;
var bar = parseInt(document.getElementById('displayToUser').innerHTML);
alert(bar*2);
은 내가 알아야 할 것은 그 과정이보다 효율적으로 만드는 방법입니다. 특히, 일부 문서 요소의 innerHTML을 foo로 설정 한 다음이를 검색하지 않고 foo를 String으로 명시 적으로 변환하는 방법이 있습니다. 내가 좋아하는 뭔가를 호출 상관 없어 :
alert(parseInt((string)foo) * 2);
이 직접 문자열 변환을 거치지 않고, 숫자로 INT64를 변환하는 방법입니다,하지만 난 그 적은 희망을 유지하면 될 것입니다 더 나은.
모든 숫자는 자바 스크립트에서 두 배입니다. 따라서 64 비트 int를 double로 변환하면 정밀도가 느슨해 질 수 있음을 알아야합니다. –