2017-12-18 65 views
0

我很難試圖從一個JSON屬性將它轉換爲一個常規的十進制:轉換這個浮到正確的小數

[DBG]:PS C:\腳本>> $ token.balance 8,8458571112536E + 20

我想把它當作884.58571112536而不是8,8458571112536E + 20

我怎麼能這樣的轉換在PowerShell中?

謝謝!

回答

0

8,8458571112536E+20不等於884.58571112536,它是884585711125360000000

當你從json轉換8,8458571112536E+20時,它將被轉換爲字符串。將其更改爲一個數字,您可以替換,.然後將其轉換爲十進制像以下:

$json = "{'balance' : '8,8458571112536E+20' }" 
$token = ConvertFrom-Json -InputObject $json 
$token.balance = [Decimal]([Double]::Parse($token.balance.Replace(',','.'))) 
$token.balance 

這顯示輸出884585711125360000000

+0

謝謝你的幫助,你能解釋爲什麼我瀏覽網站的價值是884.58571112536而不是從API抓取884585711125360000000。再次感謝 –

+0

說實話,我對這個問題的背景並不瞭解,我只是想回答你的問題。也許你在網站上看到的單位與你從API獲得的單位不同。就像例如用毫克和百萬噸來看東西一樣。 (只是一個例子) –

+0

我有關於此字段的API的說明:balance:#令牌餘額(按原樣,未降低到浮點值)。什麼意思?再次感謝,這是幫助我https://github.com/EverexIO/Ethplorer/wiki/Ethplorer-API?from=etop –