資料處理(集合)

2021-09-24 17:52:35 字數 2770 閱讀 3749

int -231~231-1 -2147483648~2147483647

float -2128~2128-1 -3.40e+38 ~ +3.40e+38

double -21024~21024-1 -1.79e+308 ~ +1.79e+308

bigdecimal bg = new bigdecimal(s).setscale(2, roundingmode.half_up);

roundingmode.up: 1.111 -> 1.12,1.116 -> 1.12

roundingmode.half_up:1.111 -> 1.11,1.116 -> 1.12

bigdecimal.setscale()方法用於格式化小數點

setscale(1)表示保留一位小數,預設用四捨五入方式

setscale(1,bigdecimal.round_down)直接刪除多餘的小數字,如2.35會變成2.3

setscale(1,bigdecimal.round_up)進製處理,2.35變成2.4

setscale(1,bigdecimal.round_half_up)四捨五入,2.35變成2.4

setscaler(1,bigdecimal.round_half_down)四捨五入,2.35變成2.3,如果是5則向下舍

setscaler(1,bigdecimal.round_ceiling)接近正無窮大的捨入

setscaler(1,bigdecimal.round_floor)接近負無窮大的捨入,數字》0和round_up作用一樣,數字<0和round_down作用一樣

setscaler(1,bigdecimal.round_half_even)向最接近的數字捨入,如果與兩個相鄰數字的距離相等,則向相鄰的偶數捨入。

注釋:1:scale指的是你小數點後的位數。比如123.456則score就是3.

score()就是bigdecimal類中的方法啊。

比如:bigdecimal b = new bigdecimal("123.456");

b.scale(),返回的就是3.

2:roundingmode是小數的保留模式。它們都是bigdecimal中的常量字段,有很多種。

比如:bigdecimal.round_half_up表示的就是4舍5入。

3:pubilc bigdecimal divide(bigdecimal divisor, int scale, int roundingmode)

的意思是說:我用乙個bigdecimal物件除以divisor後的結果,並且要求這個結果保留有scale個小數字,roundingmode表示的就是保留模式是什麼,是四捨五入啊還是其它的,你可以自己選!

4:對於一般add、subtract、multiply方法的小數字格式化如下:

bigdecimal mdata = new bigdecimal("9.655").setscale(2, bigdecimal.round_half_up);

system.out.println("mdata=" + mdata);

----結果:----- mdata=9.66

decimalformat format 方法

大家在format()乙個小數是,總是對格式中的'0'和'#'有些不解吧!

eg:

1:new decimalformat("00.000").format(pi) //結果:03.142

2:new decimalformat("##.###").format(pi) //結果:3.142

都是對pi進行格式化,但第乙個的結果是03.142,第二個的結果是3.142

這是什麼原因呢?

0和#都是佔位符,但在不同的地方,作用不一樣。下面對他們做了具體的比較。

希望對大家有所幫助。

0: 比實際數字的位數多,不足的地方用0補上。

new decimalformat("00.00").format(3.14) //結果:03.14

new decimalformat("0.000").format(3.14) //結果: 3.140

new decimalformat("00.000").format(3.14) //結果:03.140

比實際數字的位數少:整數部分不改動,小數部分,四捨五入

new decimalformat("0.000").format(13.146) //結果:13.146

new decimalformat("00.00").format(13.146) //結果:13.15

new decimalformat("0.00").format(13.146) //結果:13.15

#: 比實際數字的位數多,不變。

new decimalformat("##.##").format(3.14) //結果:3.14

new decimalformat("#.###").format(3.14) //結果: 3.14

new decimalformat("##.###").format(3.14) //結果:3.14

比實際數字的位數少:整數部分不改動,小數部分,四捨五入

new decimalformat("#.###").format(13.146) //結果:13.146

new decimalformat("##.##").format(13.146) //結果:13.15

new decimalformat("#.##").format(13.146) //結果:13.15

資料處理 流資料處理利器

流處理 stream processing 是一種計算機程式設計正規化,其允許給定乙個資料序列 流處理資料來源 一系列資料操作 函式 被應用到流中的每個元素。同時流處理工具可以顯著提高程式設計師的開發效率,允許他們編寫有效 乾淨和簡潔的 流資料處理在我們的日常工作中非常常見,舉個例子,我們在業務開發...

爬蟲 資料處理 pandas資料處理

使用duplicated 函式檢測重複的行,返回元素為布林型別的series物件,每個元素對應一行,如果該行不是第一次出現,則元素為true keep引數 指定保留哪一重複的行資料 dataframe替換操作 使用df.std 函式可以求得dataframe物件每一列的標準差 資料清洗清洗重複值 清...

資料處理 pandas資料處理優化方法小結

資料處理時使用最多的就是pandas庫,pandas在資料處理方面很強大,整合了資料處理和資料視覺化。pandas的視覺化使用的是matplotlib。回到主題 計算資料的某個欄位的所有值,對其欄位所有值進行運算 處理的字段資料為時間戳,需要計算該時間戳距離現在的時間,單位為天。一般方法 使用現在的...