R語言-如何將科學(xué)計數(shù)法表示的數(shù)字轉(zhuǎn)化為文本
統(tǒng)賽B組我們選擇了圖書館課題,獲得了數(shù)據(jù),一時興起嘗試處理了一下門禁的數(shù)據(jù),遇到了一些問題,特此記下,方便以后查閱。
門禁數(shù)據(jù)分為兩個變量,第一列為學(xué)號,第二列為進(jìn)門時間,原本是Excel文件,為了方便讀入R我把它另存為了csv文件,但在讀入R以后出現(xiàn)了一些問題
1、學(xué)號被存儲為了科學(xué)計數(shù)法表示的數(shù)字
2、時間顯示的也不全面,有些亂碼
時間問題可以在Excel中把單元格格式設(shè)置一下就解決了,但是學(xué)號問題卻遇到了一些小麻煩,我本來是想用
menjin$studentcode <- as.character(menjin$studentcode)
來解決,但是卻。。。。沒有任何反應(yīng),情急之下我google了一下,終于找到了結(jié)決方法,
menjin$studentcode <- format(menjin$studentcode,digits = 14)
解決了這一問題
以下是format()函數(shù)具體的用法:
format(x, digits, nsmall, width)
digits, nsmall, and width are all optional: nsmall suggests how many decimal places to use;digits suggests how many significant digits to include; and width suggests how long the total character string should be.
補(bǔ)充:將科學(xué)計數(shù)法轉(zhuǎn)化為常規(guī)格式再轉(zhuǎn)化為字符串類型(String)
問題描述:
在向Datagrid(也包括datacell,和前端使用的框架有關(guān))中導(dǎo)入數(shù)據(jù)的時候遇到了一個這樣的問題:當(dāng)excel中的【單元格格式】設(shè)置為【數(shù)值】類型時,導(dǎo)入到datagrid中的數(shù)據(jù)發(fā)生了變化,如下圖:
要導(dǎo)入的數(shù)據(jù):
導(dǎo)入后的結(jié)果:
分新原因:
經(jīng)過調(diào)試發(fā)現(xiàn),當(dāng)excel中的【單元格格式】設(shè)置為【數(shù)值】類型時,java后臺獲取到的是使用科學(xué)計數(shù)法表示的,如下圖所示:
這時還是沒有問題的,但是結(jié)果為什么出錯呢,是因為類型轉(zhuǎn)化的問題,這里不能使用String.valueOf( ) 方法進(jìn)行轉(zhuǎn)換。
解決問題:
使用數(shù)字類型格式化類 DecimalFormat順利地解決了這個問題,如下方法:
value=new DecimalFormat().format(cell.getNumericCellValue());//這里得到的是用“,”隔開的數(shù)字串 value = value.replace(",", "");
結(jié)果如下:
為了方便設(shè)置數(shù)字格式,這里簡單總結(jié)了 DecimalFormat順的構(gòu)造方法,如下:
DecimalFormat下的方法不再一一展示,有需要的可以查詢一下。
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。如有錯誤或未考慮完全的地方,望不吝賜教。
相關(guān)文章
R語言包ggplot實現(xiàn)分面去掉小標(biāo)題的灰色底色小技巧
這篇文章主要為大家介紹了R語言繪制圖形統(tǒng)計包ggplot來實現(xiàn)分面去掉小標(biāo)題灰色底色的小技巧,有需要的朋友可以借鑒參考下,希望能夠有所幫助2021-11-11