Formato de CURRENCY dados tipo interno em produtos básicos

Traduções deste artigo Traduções deste artigo
ID do artigo: 51414 - Exibir os produtos aos quais esse artigo se aplica.
Este artigo foi arquivado. É oferecido "como está" e não será mais atualizado.
Expandir tudo | Recolher tudo

Sumário

O tipo de dados CURRENCY é um inteiro de 8 bytes com sinal dimensionado por 10.000. Isso permite que uma variável do tipo CURRENCY com um intervalo de:
   (2 ^ 63 -1) / 10,000  =  +922337203685477.5807
				
para
   (2 ^ 63) / 10,000   =  -922337203685477.5808
				
em 19 dígitos são permitidos, com mais de 4 dígitos à direita da vírgula decimal.

Mais Informações

Como o tipo CURRENCY é escalado pelo 10.000, sua representação interna é o real valor multiplicado pelo 10.000. Por exemplo, uma variável CURRENCY mantendo o valor 0,0001 será armazenada da seguinte maneira:
HIGH BYTE                                                     LOW BYTE
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000001
				
como com inteiros comuns, o byte superior é armazenado no endereço de memória superior, para que uma vez você localizar o endereço da variável, você encontrará o byte baixo existe, o segundo byte armazenados acima, o terceiro byte acima que etc.. O programa de exemplo listado abaixo exibe a representação hexadecimal de máquina para uma variável de tipo de dados CURRENCY cujo valor é a entrada do teclado.

Código de exemplo:
'To try this example in VBDOS.EXE:
' 1. From the File menu, choose New Project.
' 2. Copy the code example to the Code window.
' 3. Press F5 to run the program.
'
'To try this example in VB.EXE:
' 1. From the File menu, choose New Project.
' 2. Copy the code example to Form_Click event procedure.
'    (Note: code will have to be slightly changed for VB)
' 3. Press F5 to run the program.
' 4. Click on the Form
'
'To try this example in QB.EXE or QBX.EXE
' 1. From the File menu, choose New Program.
' 2. Copy the code example to the Code window.
' 3. Press F5 to run the program.
'
'******************************************************************
'     Sample program to display machine representation of the     *
'     CURRENCY data type (8-byte scaled INTEGER)                  *
'******************************************************************
CLS
DO UNTIL INKEY$ = CHR$(27)
  PRINT "Enter a CURRENCY value.  The machine representation will be "
  PRINT "displayed in Hex"
  INPUT a@                   ' "@" is the CURRENCY data type suffix.
  address% = VARPTR(a@)      ' Get the address of the variable a@.

  FOR i% = 7 TO 0 STEP -1
     PRINT HEX$(PEEK(address% + i%)); "  ";  ' Display representation
  NEXT i%                                    ' in normal Low-Byte to
                                             ' the right form.
  PRINT
  PRINT "press a key to continue, Esc to EXIT"
  SLEEP
LOOP
				

Propriedades

ID do artigo: 51414 - Última revisão: sexta-feira, 23 de agosto de 2013 - Revisão: 2.1
A informação contida neste artigo aplica-se a:
  • Microsoft Visual Basic for MS-DOS
  • Microsoft Visual Basic 1.0 Standard Edition
  • Microsoft QuickBasic 4.0
  • Microsoft QuickBASIC 4.0b
  • Microsoft QuickBasic 4.5 for MS-DOS
  • Microsoft BASIC Professional Development System 7.0
  • Microsoft BASIC Professional Development System 7.1
Palavras-chave: 
kbnosurvey kbarchive kbmt KB51414 KbMtpt
Tradução automática
IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine Translation ou MT), não tendo sido portanto traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 51414

Submeter comentários

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com