Solidity
如何獲取具有可變長度小數位的字元串,並將其轉換為整數 uint?
我正在嘗試編寫一個使用 Oraclize 的 API 從 coinmarketcap API 獲取數據的 ethereum-usd 價格程式碼。
我注意到 Oraclize 有一個名為的函式
parseInt
,可用於從字元串(例如 10.99)中刪除小數點後的數字並將其轉換為 uint 10。據我所知,這僅適用於小數點後具有固定長度的字元串。根據 CMC API,小數點後的長度是可變的。我注意到它是諸如 1000.99 或 1000.991 之類的值
我無法弄清楚如何解析這個可變十進制長度的字元串並將其轉換為整數。
從我閱讀 Remix 中的程式碼和測試來看,我認為你錯了。
parseInt("1000.99")
並且parseInt("1000.991")
都應該返回1000
。有一個可選參數基本上表示要乘以 10 的冪。
parseInt("100.99", 2)
並且parseInt("1000.991")
都應該返回100099
。