excel vba中double的疑問

2022-06-20 23:55:08 字數 562 閱讀 4316

1樓:矽谷少年

浮點誤差 瞭解一下。

二進位制迴圈數和結果接近零的計算

以二進位制儲存浮點數時,另一個引起混亂的問題是,某些 10 進位制的有窮非迴圈數在二進位制下是無窮的迴圈數。這方面最常見的示例是值 0.1 及其變體。

雖然這些數字在以 10 為底的情況下可以完美地得到表示,但二進位制格式下的相同數字在尾數中儲存時就變成了以下二進位制迴圈數字:

000110011001100110011(等等)ieee 754 規範並未對任何數字作特殊的規定;它在尾數中儲存能夠容納的部分,並截斷其餘部分。這導致在儲存數字時產生大約 -2.8e-17 或 0.

000000000000000028 的誤差。

在二進位制下,即使是常見的十進位制分數(例如十進位制的 0.0001)也無法得到準確表示。(0.

0001 是一個二進位制迴圈分數,以 104 位為一個週期)。這類似於為什麼分數 1/3 在十進位制下無法得到準確的表示(迴圈小數 0.33333333333333333333)。

2樓:小老好人

參見文章「浮點數之間的比較」,網頁連結

excel vba窗體中listbox用法

1 首先需要開啟excel的 如圖所示,點選下面的檔案1,滑鼠右鍵單擊選擇檢視 2 然後就是進入 頁面,可以看到頁面上現在的 3 然後接下來就是需要用listbox用法,如圖所示,輸入sheet1.cells 1,3 sheet1.cells 1,1 sheet1.cells 1,2 回車。4 最後...

excel VBA中Range函式將列作為變數怎麼表示

range型別的函式有多種形式,具體如下 1.您可以嘗試用range cells 行1,列1 cells 行2,列2 這種形式,比較靈活 2.也可以用cells 行,列 這樣的形式表示單元格 3.還可以用columns 列 表示一列 4.也可以用range columns 列1 columns 列2...

Excel VBA中如何使用split來分割內部含有不定空格的字串

1 首先開啟office excel軟體,接著開啟vba編輯介面。2 然後在單元格區域當中輸入一些內容。3 接著在vba編輯器中插入模組。4 在模組當中輸入如下 進行分割取線,然後執行。5 最後在單元格b2中輸入公式 division a1,column a a 然後右拉至d2,公式結果如圖所示。可...