VFP 愛用者社區 首頁 VFP 愛用者社區
本討論區為 Visual Foxpro 愛用者經驗交流的地方, 請多多利用"搜尋"的功能, 先查看看有無前例可循, 如果還有不懂的再發問. 部份主題有附加檔案, 須先註冊成為社區居民才可以下載.
 
 常見問題常見問題   搜尋搜尋   會員列表會員列表   會員群組會員群組   會員註冊會員註冊 
 個人資料個人資料   登入檢查您的私人訊息登入檢查您的私人訊息   登入登入

关于小数精度的问题

 
發表新主題   回覆主題    VFP 愛用者社區 首頁 -> VFP 討論區
上一篇主題 :: 下一篇主題  
發表人 內容
tsmax



註冊時間: 2006-05-07
文章: 10


第 1 樓

發表發表於: 星期一 十月 06, 2008 7:11 pm    文章主題: 关于小数精度的问题 引言回覆

m=197874.06-188044.71
?m
9829.35
?str(m,16,14)
9829.35000000001

请教高手,问什么会出现这种现象?
回頂端
檢視會員個人資料 發送私人訊息
ckp6250



註冊時間: 2004-07-30
文章: 1645


第 2 樓

發表發表於: 星期二 十月 07, 2008 10:46 am    文章主題: 引言回覆

When storing floating-point numbers in Numeric fields, numeric precision is limited to approximately 15 digits in Visual FoxPro. Therefore, precision more than 15 digits might be lost when converting from decimal to binary numbers, storing numbers with infinitely repeating decimal values in binary, performing multiple repeated operations, and storing numeric values in Character fields and in memory variables in binary format.

在 Visual FoxPro 中,當浮點數儲存於數值欄位中,數值精確度大約被限制在 15 個位數。所以,當由小數轉換為二進位數、儲存二進位中無限重覆的小數值以及在字元欄位中與在二進位格式的記憶體變數中儲存數值時,超過 15 個位數的精確度可能會遺失。

這個限制是根據奔騰系列處理器計算與儲存浮點數的方式,以及遵循電子電機工程師學會 (IEEE) 對二進位格式中處理浮點數的浮點規格。這個標準使浮點數儲存於合理的空間容量以及更為迅速地執行計算。

因此 , 若是 ?str(m,15,14) , 則 oK
回頂端
檢視會員個人資料 發送私人訊息 參觀發表人的個人網站
tsmax



註冊時間: 2006-05-07
文章: 10


第 3 樓

發表發表於: 星期四 十月 09, 2008 6:03 pm    文章主題: 引言回覆

谢谢,我懂啦!
回頂端
檢視會員個人資料 發送私人訊息
從之前的文章開始顯示:   
發表新主題   回覆主題    VFP 愛用者社區 首頁 -> VFP 討論區 所有的時間均為 台北時間 (GMT + 8 小時)
1頁(共1頁)

 
前往:  
無法 在這個版面發表文章
無法 在這個版面回覆文章
無法 在這個版面編輯文章
無法 在這個版面刪除文章
無法 在這個版面進行投票
無法 在這個版面附加檔案
無法 在這個版面下載檔案


Powered by phpBB © 2001, 2005 phpBB Group
正體中文語系由 phpbb-tw 維護製作