VB6에서 C++ 함수를 호출합니다. Currency 데이터 유형의 변수를 전달해야합니다. 그러나 C++에서는 이러한 데이터 유형이 없습니다. C++ 함수에서 통화 데이터 유형과 호환되도록하려면 어떻게해야합니까?통화 데이터 형식 VB 6 to C++
1
A
답변
2
아마도 가장 좋은 방법은 VARIANT으로 전달하고 C++ 코드에서 VARIANT를 수동으로 처리하는 것입니다.
0
currency
유형을 취하여 100을 곱한 다음 C로 전달하면 long
정수가됩니다. 결과가 필요하면 그 반대로하십시오.
정밀도가 떨어지지 않으며 코드가 매우 간단합니다.
1
VB6s 통화 형 대략
내부가의 인자에 의해 스케일링 된 8 바이트 정수있다 (마이크로 소프트 컴파일러 가정) ++ C에서 CY
형태와 동일 10,000, 소수점 구분 기호 다음에 4 자리 숫자를 부여합니다.
컴파일러에 따라 직접 CY
유형을 사용하거나 VARIANT
을 통과합니다 (CY
유형 인) myVariant.cyVal
를 사용할 수 있습니다.
VARIANT
및 CY
유형을 사용할 수없는 경우 (C++ 표준의 일부가 아님) C++ 함수는 64 비트 정수를 허용해야하며 올바른 값을 얻으려면 값을 10,000으로 나누어야합니다 값.
2
내가 VB6 현재 대략 동일하다 (도 CY 알려진) 고유의 64 비트 정수형 __int64을 갖는다 ++ 카메라 C를 판단 (다시 컴파일러에 따라 __int64
또는 long long
을 사용 하나)? C++ 코드에서는 VB6에서 "보는"값보다 10,000 배 큰 값을 "보게"됩니다. C++에서 10,000으로 나누어 올바른 값을 얻거나 정밀도를 유지하기 위해 크기 조정 된 값으로 작업하십시오. 다른 C에 대한
typedef union _LARGE_INTEGER {
struct {
DWORD LowPart;
LONG HighPart;
};
LONGLONG QuadPart; // In Visual C++, a typedef to __int64
} LARGE_INTEGER;
은 자세한 내용은 here를 참조하십시오.
관련 문제
- 1. VB 6.0의 DataGrid 6
- 2. 통화 형식
- 3. 스레딩 VB 6!
- 4. ICU 맞춤 통화 형식 지정 (C++)
- 5. 통화 형식 나는 현재 통화 형식 메소드가, 출력 문자열
- 6. 표시 할 통화 형식
- 7. asp.net의 통화 형식 문자열
- 8. 형식 번호를 통화 haml로
- 9. VB 6 학습 가치가 있습니까?
- 10. VB 6 전역 예외 처리기
- 11. 에서 액세스 + VB 6 COBOL
- 12. C#, 데이터 형식 작업
- 13. C++ 이중 데이터 형식
- 14. C++ 범용 데이터 형식
- 15. Linq to SQL + 사용자 지정 데이터 형식
- 16. Excel 2007 - 조건부 통화 형식
- 17. VB 인터페이스와 linq-to-SQL
- 18. C#으로 통화 표시
- 19. C# 이미지 형식 복사 PowerPoint to Word
- 20. VB 데이터 집합 문제
- 21. C++ 이중 데이터 형식 문제
- 22. uniqueidentifier 동등한 데이터 형식 C#
- 23. VB 6.0의 데이터 보고서
- 24. Vb 6 .exe 다른 결과를 디버거로 만들기
- 25. VB 6 : 서식 안의 영역을 어떻게 찾습니까?
- 26. C# 서식 통화
- 27. 안드로이드 to WP7 절대 신참 질문 : C# 또는 VB?
- 28. VB : 엑셀 테이블의 데이터 필터링
- 29. 수식 셀의 JExcelApi 통화 형식 파일 오류
- 30. Apache POI를 사용한 Excel 통화 형식
답변이 가능한 범위를 초과하면 오버플로가 발생하지만, – MarkJ
양이 $ 20 000 000을 초과하는 경우 참 : 금액이 클 경우 '__int64'가 더 적합합니다. – lavinio