到奇狐勝券首頁 奇狐社區論壇 購買奇狐勝券 試用奇狐勝券
 
論壇首頁 你可以在這裡編輯你的資料,查看短訊,訂閱主題和論壇參數等等 免費會員註冊 會員列表 論壇幫助 論壇日曆 論壇搜索 加入我的最愛 登出論壇  
奇狐社區論壇 : Powered by vBulletin version 2.3.0 奇狐社區論壇 > 技術支援 > 問題交流 > 奇狐 v5.2 Beta2版使用CEILING函數的疑問?
  上一主題   下一主題
作者
主題 發表新主題    回覆主題
justdoit829
資深會員

註冊日期: Sep 2005
來  自:
文章數量: 196

奇狐 v5.2 Beta版使用CEILING函數的疑問?

在主圖使用下述計算,
NOW應該都是-4,
奇怪? 怎麼-4經過CEILING函數後被+1了?

NUM:=-20;
A:=0.25;
B:=0.8;
AB:MAX(1*A,1*B);

NOW:=NUM*(1-B);
EXPLAIN(1,'NOW1:'+NUMTOSTR(NOW,2));
NOW:=CEILING(NOW);
EXPLAIN(1,'NOW2:'+NUMTOSTR(NOW,2));

__________________
--
忘我無為無不為..

最後由 justdoit829 在 2018-01-08 21:16 編輯 向版主報告此篇 | 查IP位址
Old Post 2018-01-08 21:04
justdoit829 現在離線 點選這裡查看 justdoit829 的個人資料 點選這裡給 justdoit829 傳送一條短訊 查找更多關於 justdoit829 的文章 增加 justdoit829 至你的好友列表 編輯/刪除訊息 引用回覆
cgjj
總版主

註冊日期: Oct 2003
來  自:
文章數量: 18114

回覆: 奇狐 v5.2 Beta版使用CEILING函數的疑問?

引用:
最初由 justdoit829 發表
在主圖使用下述計算,
NOW應該都是-4,
奇怪? 怎麼-4經過CEILING函數後被+1了?

NUM:=-20;
A:=0.25;
B:=0.8;
AB:MAX(1*A,1*B);

NOW:=NUM*(1-B);
EXPLAIN(1,'NOW1:'+NUMTOSTR(NOW,2));
NOW:=CEILING(NOW);
EXPLAIN(1,'NOW2:'+NUMTOSTR(NOW,2));



跟 v5.2 Beta2版 無關啦,這是計算精度問題啦!!!

值 -4 實際,電腦實際儲存的可能為 -3.999999976
CEILING 是往大的方向取整數,所以會得到-3
FLOOR 是往小的方向取整數,其會得到-4

您把
EXPLAIN(1,'NOW1:'+NUMTOSTR(NOW,2));
改為
EXPLAIN(1,'NOW1:'+NUMTOSTR(NOW,8));
就可以見到了,我說的情況了

CEILING若要避開精度問題,這樣就可以處理:
NOW:=CEILING(NOW-0.000001);

向版主報告此篇 | 查IP位址
Old Post 2018-01-08 21:42
cgjj 現在離線 點選這裡查看 cgjj 的個人資料 點選這裡給 cgjj 傳送一條短訊 查找更多關於 cgjj 的文章 增加 cgjj 至你的好友列表 編輯/刪除訊息 引用回覆
justdoit829
資深會員

註冊日期: Sep 2005
來  自:
文章數量: 196

原來是這樣子.. 謝謝解惑^^

__________________
--
忘我無為無不為..

向版主報告此篇 | 查IP位址
Old Post 2018-01-09 09:28
justdoit829 現在離線 點選這裡查看 justdoit829 的個人資料 點選這裡給 justdoit829 傳送一條短訊 查找更多關於 justdoit829 的文章 增加 justdoit829 至你的好友列表 編輯/刪除訊息 引用回覆
全部時間均為台灣時間, 現在時間為08:39 發表新主題    回覆主題
  上一主題   下一主題
顯示可列印版本 | 訂閱此主題

論壇跳轉:
主題評分:

論壇規定:
你不可以發表新主題
你不可以回覆文章
你不可以上傳附件
你不可以編輯自己的文章
HTML語法禁止
vB 語法核准
表情符號核准
貼圖語法[IMG]核准
 

本站所有內容未經作者授權禁止轉貼節錄, 發表言論僅供參考勿作為投資決策依據。瀏覽本站請使用 IE 5.5 以上版本, 最佳瀏覽解析度 1024 x 768 全彩。

Powered by: vBulletin Version 2.3.0 - Copyright©2000-, Jelsoft Enterprises Limited.

簡愛洋行 製作 Copyright 2003-. All Rights Reserved.  聯絡我們