問題描述:智能合約的結構體中使用浮點型別的資料時,存在一個問題,向賬本插入資料所呼叫指令的引數型別為字串型別,假如浮點數型別引數的小數點后面全為0的情況下,比如1200.0,存入賬本的值則為1200,而不是1200.0,
資料結構如下所示:

問題復現:

從感性方面來看,值都是1200,但從計算機的理性方面看,從區塊鏈取的資料和MySQL資料庫作校驗時,區塊鏈回傳的結果是1200,而從MySQL資料庫查到的是1200.0,校驗時就比較棘手,在Java專案應用中就比較頭疼,如下所示:

想到兩種解決辦法:
- 對區塊鏈回傳的資料作處理,決議Json資料并將沒有小數點的資料增加一個小數點和0,這種比較麻煩;
- 將float的資料型別改為String型別,
采用的是第二種解決方案

外部應用測驗如下圖:

歡迎小伙伴討論,如果還有其他方法請在評論區評論或發私聊訊息,謝謝你,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/233545.html
標籤:區塊鏈
下一篇:Filecoin通證銷毀的意義
