numpy保留小數字數

2021-10-09 18:51:31 字數 2096 閱讀 6851

import numpy as np

n=2data= numpy.around(a, n)

保留2位小數,n為3,則保留3位小數。

預設保留整數,計算方法是四捨五入。

這裡是一些例子

import numpy as np

>>> np.around([0.37, 1.64])

array([ 0., 2.])

>>> np.around([0.37, 1.64], decimals=1)

array([ 0.4, 1.6])

>>> np.around([.5, 1.5, 2.5, 3.5, 4.5]) # rounds to nearest even value

array([ 0., 2., 2., 4., 4.])

>>> np.around([1,2,3,11], decimals=1) # ndarray of ints is returned

array([ 1, 2, 3, 11])

>>> np.around([1,2,3,11], decimals=-1)

array([ 0, 0, 0, 10])

結果是四捨五入。

而python強轉型別int(1.12)是取整,丟掉後面的小數。

aaa=int(1.9)

print(aaa)

答案是1

下面再列舉一下python保留指定位數的小數方法:

f = 1.23456

print('%.4f' % f)

print('%.3f' % f)

print('%.2f' % f)

結果:

1.2346

1.235

1.23

這個方法會進行四捨五入

print(format(1.23456, '.2f'))

print(format(1.23456, '.3f'))

print(format(1.23456, '.4f'))

1.23

1.235

1.2346

這個方法會進行四捨五入

其實這個方法不推薦大家使用,查詢資料發現裡面的坑其實很多,python2和python3裡面的坑還不太一樣,在此簡單描述一下python3對應的坑的情況。

a = 1.23456

b = 2.355

c = 3.5

d = 2.5

print(round(a, 3))

print(round(b, 2))

print(round(c))

print(round(d))

1.235   # 1.23456最終向前進製了

2.35 # 2.355居然沒進製

4 # 最終3.5居然變為4了

2 # 最終2.5取值變為2

(1)通過上面的函式,看著是不是很暈,感覺round(x,n)函式是否進製也沒看出是啥規律

(2)round(x,n)函式中,是否進製或四捨五入,取決於n位以及n+1位小數的值

(3)只有當n+1位數字是5的時候,容易混淆,如果n為偶數,則n+1位數是5,則進製,例如round(1.23456,3)最終變為1.235

(4)如果n為奇數,則n+1位是數5,那不進製,例如round(2.355,2),最終為2.35

(5)如果n為0,即沒有填寫n的時候,最終結果與上面相反,即整數部分為偶數的時候,小數字5不進製,例如(round(2.5)變為2)。

(6)整數部分為奇數的時候,小數字5進製。(round(3.5)變為4)

————————————————

(1)可以放大指定的倍數,然後取整,然後再除以指定的倍數。

#保留三位小數截斷 python3

print(int(1.23456 * 1000) / 1000 )

(2) 使用字串擷取,擷取小數點後指定的位數

總結C 保留小數字數

本文向大家介紹c 保留小數字,可能好多人還不了解c 保留小數字,沒有關係,看完本文你肯定有不少收穫,希望本文能教會你更多東西。1.簡單的例子 system.globalization.numberformatinfo provider new system.globalization.numberf...

JS中保留小數字數

一 1.2.tofixed 2 浮點數進行四捨五入設定指定小數字的數值 二 2.tofixed 2 整數嘗試,但是在js中會被認為是物件名,以至於無法使用 三 1.2 tofixed 2 由於tofixed方法是針對number型別的,所以string型別的即使能夠轉換成數字,也不能使用這個方法 四...

MSSQL 保留小數字數的方法

round 語法 round numeric expression length function 那麼用到四捨五入並且保留小數點時我們肯定會首選round函式,如果欄位的資料型別是decimal 18,10 時那麼四捨五入後還會有很多0出現。引數說明 numeric expression 是精確或...