是利用原來的向下取整的機制如果原來是
為高陵等地區(qū)用戶提供了全套網(wǎng)頁設計制作服務,及高陵網(wǎng)站建設行業(yè)解決方案。主營業(yè)務為網(wǎng)站制作、成都網(wǎng)站建設、高陵網(wǎng)站設計,以傳統(tǒng)方式定制建設網(wǎng)站,并提供域名空間備案等一條龍服務,秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務。我們深信只要達到每一位用戶的要求,就會得到認可,從而選擇與我們長期合作。這樣,我們也可以走得更遠!
實際上Python的round()函數(shù)可以接受兩個參數(shù)round(value,ndigits),第一個參數(shù)為實際操作數(shù),第二個參數(shù)為實際保留幾位,如果第二個參數(shù)不填,則默認保留到整數(shù)位。
Python3.X對于浮點數(shù)默認的是提供17位數(shù)字的精度。
結果是?-4
對正數(shù)是向下取整,對負數(shù)是向上取整。
學python的一個缺點就是對數(shù)據(jù)類型的基礎理解比較少,
你可以用二進制來理解下,舉一個有符號的二進制為例子:
對于無符號的?0b000~0b111?來說分別有
0b000?=?0;
0b001?=?1;
0b010?=?2;
0b011?=?3;
0b100?=?4;
0b101?=?5;
0b110?=?6;
0b111?=?7;
比如?uint?就是?int?的無符號形式。
當相同數(shù)據(jù)為有符號形式時變?yōu)椋?/p>
0b000?=?0;
0b001?=?1;
0b010?=?2;
0b011?=?3;
0b100?=?-4;
0b101?=?-3;
0b110?=?-2;
0b111?=?-1;
(參考原碼、反碼、補碼)
所以根據(jù)這個規(guī)則,對float,double等數(shù)字是同理,在floor時將有符號位進行省略,如以下位運算():
0b000??1?=?0b000
0b001??1?=?0b000
有?0-0?和?1?-?0
0b010??1?=?0b001
0b011??1?=?0b001
有?2-?1?和?3?-?1
按照這個丟失精度的方法計算負數(shù)呢?
0b111??1?=?0b111
0b110??1?=?0b111
0b101??1?=?0b110
0b100??1?=?0b110
可知:
-1?-?-1?與?-2?-?-1
-3?-?-2?與?-4?-?-2
所以對負數(shù)的?floor?會向上取整,因為丟失精度的方法是直接根據(jù)小數(shù)點截斷的。
根據(jù)Excel的幫助得知,Round函數(shù)是一個返回一個數(shù)值,該數(shù)值是按照指定的小數(shù)位數(shù)進行四舍五入運算的結果。除數(shù)值外,也可對日期進行舍入運算。
round函數(shù)的語法是:ROUND(number,num_digits),即:Round(數(shù)值,保留的小數(shù)位數(shù))。
擴展資料:
其中,如果 num_digits 大于 0,則四舍五入到指定的小數(shù)位。
如果 num_digits 等于 0,則四舍五入到最接近的整數(shù)。
如果 num_digits 小于 0,則在小數(shù)點左側進行四舍五入。
=ROUND(3.19, 1) 將 3.19 四舍五入到一個小數(shù)位 (3.2)
=ROUND(2.649, 1) 將 2.649 四舍五入到一個小數(shù)位 (2.6)
=ROUND(-5.574, 2) 將 -5.574 四舍五入到兩小數(shù)位 (-5.57)
=ROUND(18.8, -1) 將 18.8 四舍五入到小數(shù)點左側一位 (20)。這個參數(shù)-1表示取整到十位數(shù)。