關於JSONObject to Map 數字太大被轉成科學計數法的問題
1.在專案中遇到一個轉換json的問題:
String json = "{'aa':"123456789.1234",'bb':123456789.1234}";
Map<String,Object> jsonMap = JSONObject.fromObject(json);
問題就是轉換之後出現瞭如下結果:
{aa=123456789.1234, bb=1.23456792E8}
用的是net.sf.json。看了下api和JSONObject類,然而並沒有什麼好方法(可能是看不懂),如果是轉成bean的話,可能就好處理,但是方法是通用方法,不能轉bean。所以找其他方法吧。
方法一:com.alibaba.fastjson.JSONObject 阿里的json包。
JSONObject json = (JSONObject) JSONObject.parse(jsonStr);
方法二:谷歌Gson包
Map<String,String> jsonMap = new Gson().fromJson(str,new TypeToken<Map<String,String>>(){}.getType());
每一個弱智的問題,背後都有著一大堆的技術點。
相關推薦
關於JSONObject to Map 數字太大被轉成科學計數法的問題
1.在專案中遇到一個轉換json的問題: String json = "{'aa':"123456789.1234",'bb':123456789.1234}"; Map<String,Object> jsonMap = JSONObject.
Java中由於資料太大自動轉換成科學計數法解決方式
1.java後臺 (1)使用BigDecimal類 方式一:String str=new BigDecimal(num+”“).toString(); 方式二:String str=new BigDecimal(num.toString()).toString(); (2)使用De
CSV檔案轉Excel後數字自動轉換成科學計數法的解決方法
CSV檔案用Excel開啟後,長度超過11位的數字自動轉換成科學計數法顯示,末尾數字變成“0000”,如何解決這一問題? 方法: ①新建Excel-開啟 ②資料-自文字 ③選擇需要開啟的CSV檔案 ④分隔符號-按照實際情況選擇-文字(避免科學計數法
gridview匯出excel檔案且把數字型別的列轉換成字元匯出(防止處理成科學計數法)
Public Function OutExcel(ByVal dt As DataTable) HttpContext.Current.Response.Clear() HttpContext.Current.Response.Buffer = T
將數字轉換成科學計數法
例如一個數字 -123456.1234 轉換成 -1.2346*10^5 public class FormatNumber { public static String format(dou
java的double的大數值時 怎麼才能不顯示成科學計數法
首先要知道你是用什麼語言輸出,不同的語言,說用到的方法是不同的!我是學java的告訴你java的格式化輸出吧 主要使用的類:java.text.DecimalFormat 1。例項化物件,可以用如下兩種方法: DecimalFormat df=(DecimalFormat)NumberFormat.
32歲程式設計師面試,因年齡太大被拒!網友:是領導能力差怕被超越
在網際網路企業中,有一個奇怪的現象:年齡越大的程式設計師,越不敢重用!因為大多數人覺得,程式設計師到了一定的年齡就不能創造太多價值,要麼當公司管理要麼改行。不過我認為這種想法太過片面,為什麼人的價值要用年齡來判斷?也許到了一定年齡吃不了加班的苦,但是並不能否認大齡程式設計師的價值,公司注重新人的培養
#32歲程式設計師面試,因年齡太大被拒!網友:是領導能力差怕被超越
在網際網路企業中,有一個奇怪的現象:年齡越大的程式設計師,越不敢重用!因為大多數人覺得,程式設計師到了一定的年齡就不能創造太多價值,要麼當公司管理要麼改行。不過我認為這種想法太過片面,為什麼人的價值要用年齡來判斷?也許到了一定年齡吃不了加班的苦,但是並不能否認大齡程式設計師的價值,公司注重新人的培養
32 歲程式設計師去面試,因年齡太大被直接送走。。
在網際網路企業中,有一個奇怪的現象:年齡越大的程式設計師,越不敢重用!因為大多數人覺得,程式設計師到了一定的年齡就不能創造太多價值,要麼當公司管理要麼改行。 不過我認為這種想法太過片面,為什麼人的價值要用年齡來判斷?也許到了一定年齡吃不了加班的苦,但是並不能否認大齡程式設計
32歲程式設計師面試,因年齡太大被拒!大齡程式設計師如何踩上技術趨勢?
在網際網路企業中,有一個奇怪的現象:年齡越大的程式設計師,越不敢重用!因為大多數人覺得,程式設計師到了一定的年齡就不能創造太多價值,要麼當公司管理要麼改行。不過我認為這種想法太過片面,為什麼人的價值要用年齡來判斷?也許到了一定年齡吃不了加班的苦,但是並不能否認大齡程式設計師的
JS數字太大導致的精度丟失問題原因及解決方案
JS 數字丟失精度的原因 計算機的二進位制實現和位數限制有些數無法有限表示。就像一些無理數不能有限表示,如 圓周率 3.1415926…,1.3333… 等。JS 遵循 IEEE 754 規範,採用雙精度儲存(double precision),佔用 64 b
JS數字太大計算不精準的問題解決思路記錄
問題描述:在做專案的過程中,遇到數字很大的時候,相加的數字總是轉為整數,例如14位整數加4位小數的數字相加99999999999999.9999+99999999999999.9999,得出的結果為200000000000000,於是乎為了解決這個問題,我寫了以下方法。 思路
BigDecimal的用法詳解(保留兩位小數,四舍五入,數字格式化,科學計數法轉數字,數字裏的逗號處理)
intvalue tom 引用 方法 mda ubi 結果 oid 創建 一、簡介 Java在java.math包中提供的API類BigDecimal,用來對超過16位有效位的數進行精確的運算。雙精度浮點型變量doubl
用第三方工具類,將JavaBean、List、Map<String,Object>轉成JSON文字
匯入第三方jar包: 》commons-beanutils-1.7.0.jar 》commons-collections-3.1.jar 》commons-lang-2.5.jar &nb
java 中科學計數法轉普通數字表示法 --toPlainString()和stripTrailingZeros()
toPlainString() //轉為普遍計數法輸出 //給一個字串1.238761976E-10 //如何得到0.0000000001238761976這個字串呢? BigDecimal bd = new BigDecimal("1.238761976E-10");
Java BigDecimal使用 Java BigDecimal詳解 BigDecimal的用法詳解(保留兩位小數,四捨五入,數字格式化,科學計數法轉數字,數字裡的逗號處理)
1.引言 float和double型別的主要設計目標是為了科學計算和工程計算。他們執行二進位制浮點運算,這是為了在廣域數值範圍上提供較為精確的快速近似計算而精心設計的。然而,它們沒有提供完全精確的結果,所以不應該被用於要求精確結果的場合。但是,商業計算往往要求結果精確,這時候BigDecimal
springMVC返回json資料時date型別資料被轉成long型別
在專案的過程中肯定會遇到ajax請求,但是再用的過程中會發現,在資料庫中好好的時間型別資料:2017-05-04 17:52:24 在轉json的時候,得到的就不是時間格式了 而是145245121這
excel之數字轉字串,取消科學計數法
有時數字太長,excel預設會用科學計數法來表示。比如身份證,手機號碼等。 但是我們並不想用。那麼該怎麼辦呢? 有兩種情況, 一是還沒有輸入的情況下,可以在該列選中,然後選擇文字型別,輸入即可。 或者
java BigDecimal用法詳解(保留小數,四捨五入,數字格式化,科學計數法轉數字等)
一、簡介 Java在java.math包中提供的API類BigDecimal,用來對超過16位有效位的數進行精確的運算。雙精度浮點型變數double可以處理16位有效數。在實際應用中,需要對更大或者更小的數進行運算和處理。float和double只能用來做科學計算或者是
Oracle ERP 報表:類數字格式字串資料的前置0被擷取和被科學計數法表示
在開發報表的時候,遇到了以下情況: A.問題描述 在PLSQL中編寫程式輸出HTML/XML格式的報表,在提交請求之後檢視輸出的時候,如果選擇使用Excel開啟,類似數字格式的字串資料會被Excel進