内部格式的货币型数据类型在基本的产品

注意:这篇文章是由无人工介入的微软自动的机器翻译软件翻译完成。微软很高兴能同时提供给您由人工翻译的和由机器翻译的文章, 以使您能使用您的语言访问所有的知识库文章。然而由机器翻译的文章并不总是完美的。它可能存在词汇,语法或文法的问题,就像是一个外国人在说中文时总是可能犯这样的错误。虽然我们经常升级机器翻译软件以提高翻译质量,但是我们不保证机器翻译的正确度,也不对由于内容的误译或者客户对它的错误使用所引起的任何直接的, 或间接的可能的问题负责。

点击这里察看该文章的英文版: 51414
本文已归档。它按“原样”提供,并且不再更新。
概要
货币型数据类型是按 10,000 进行缩放而得到的 8 字节有符号的整数。 这将允许具有一系列货币型类型的变量:
   (2 ^ 63 -1) / 10,000  =  +922337203685477.5807				
   (2 ^ 63) / 10,000   =  -922337203685477.5808				
到 19 位允许,使用小数点右侧不超过 4 位数字。
更多信息
货币型类型按进行缩放而得到 10,000,因为它的内部表示形式是在实际值乘以 10,000。例如,持有值 0.0001 货币型变量将被存储,如下所示:
HIGH BYTE                                                     LOW BYTE00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000001				
按与普通的整数更高的字节存储在更高的内存地址,以便一次查找该变量的地址,您会发现那里低的字节,上面存储的第二个字节,上面的第三个字节,等等。下面列出的示例程序将显示货币型数据类型变量的值是从键盘的 INPUT 十六进制机器表示的形式。

示例代码:
'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)                  *'******************************************************************CLSDO 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"  SLEEPLOOP				
VBmsdos QuickBas BasicCom 1.00 4.00 4.00b 4.50 7.00 7.10

属性

文章 ID:51414 - 上次审阅时间:08/23/2013 17:28:58 - 修订版本: 2.1

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 专业开发系统 7.0, Microsoft BASIC 专业开发系统 7.1

  • kbnosurvey kbarchive kbmt KB51414 KbMtzh
反馈