2017-12-18 66 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 –