基本產品中的貨幣資料類型的內部格式

文章翻譯 文章翻譯
文章編號: 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 BYTE
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000001
				
視與一般的整數較高的位元組會儲存在較高的記憶體位址,以便一次找到變數的位址,您會發現那里低位元組、 第二個位元組儲存上方、 上方的第三個位元組、 等等。顯示其值是從鍵盤輸入的貨幣資料型別變數之十六進位機器表示下列範例程式。

範例程式碼:
'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
				

屬性

文章編號: 51414 - 上次校閱: 2013年8月23日 - 版次: 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 Professional Development System 7.0
  • Microsoft BASIC Professional Development System 7.1
關鍵字:?
kbnosurvey kbarchive kbmt KB51414 KbMtzh
機器翻譯
重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,而非使用人工翻譯而成。Microsoft 同時提供使用者人工翻譯及機器翻譯兩個版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,機器翻譯的文章可能不盡完美。這些文章中也可能出現拼字、語意或文法上的錯誤,就像外國人在使用本國語言時可能發生的錯誤。Microsoft 不為內容的翻譯錯誤或客戶對該內容的使用所產生的任何錯誤或損害負責。Microsoft也同時將不斷地就機器翻譯軟體進行更新。
按一下這裡查看此文章的英文版本:51414
Microsoft及(或)其供應商不就任何在本伺服器上發表的文字資料及其相關圖表資訊的恰當性作任何承諾。所有文字資料及其相關圖表均以「現狀」供應,不負任何擔保責任。Microsoft及(或)其供應商謹此聲明,不負任何對與此資訊有關之擔保責任,包括關於適售性、適用於某一特定用途、權利或不侵權的明示或默示擔保責任。Microsoft及(或)其供應商無論如何不對因或與使用本伺服器上資訊或與資訊的實行有關而引起的契約、過失或其他侵權行為之訴訟中的特別的、間接的、衍生性的損害或任何因使用而喪失所導致的之損害、資料或利潤負任何責任。

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