查看單個文章
舊 2007-05-31, 11:37 AM   #13 (permalink)
profibus
註冊會員
榮譽勳章

勳章總數0
UID - 269708
在線等級: 級別:1 | 在線時長:7小時 | 升級還需:5小時
註冊日期: 2007-05-23
文章: 14
精華: 0
現金: 6 金幣
資產: 6 金幣
預設

引用:
作者: 劍痞憶秋年 查看文章
啊哈,其實偶也只是抄來的,所以不知道為何

不過偶想是這樣的
<1>
Floor ==> 傳回小於或等於指定數值運算式的最大整數 ==> 偶解釋為 無條件捨去小數法
<2>以實值為例
1.23456
取小數1位
* 10 = 12.3456
+ 0.5 = 12.8456
floor(12.8456)=12 (無條件捨去法)
* 0.1 = 1.2

取小數2位
* 100 = 123.456
+ 0.5 = 123.956
floor(123.956)=123 (無條件捨去法)
* 0.01 = 1.23

取小數3位
* 1000 = 1234.56
+ 0.5 = 1235.06
floor(1235.06)=1235 (無條件捨去法)
* 0.001 = 1.235

其實就是
(1)把它要四捨五入的那個位數先變成 小數第一位
(2)這樣一來 + 0.5 之後,它就達到了四捨五入的功能
(該進位就進位到整數)
(3)(該捨的就捨掉啦,小數都捨掉了)
(4)最後再還原(1)做的動作((1)* 多少,(4)這裡就 / 多少(用*方式達成)
謝謝大大:
我了解了,+0.5就是要作到四捨五入的功能
profibus 目前離線  
送花文章: 2, 收花文章: 0 篇, 收花: 0 次
回覆時引用此帖