【问题标题】:Using "requests" to use bitcoin address balance使用“请求”使用比特币地址余额
【发布时间】:2015-07-12 05:22:40
【问题描述】:

我正在尝试获取比特币地址的余额并将其用作我应用程序的其余部分中的数字:

import requests
req = requests.get('http://blockexplorer.com/q/getreceivedbyaddress/19hMEAaRMbEhfSkeU4GT8mgSuyR4t4M6TH/1')

SatoshiConvert = int(req.text) / 100000000
print SatoshiConvert

这会导致以下错误:

Traceback (most recent call last):
File "checkBalances.py", line 26, in <module>
SatoshiConvert = int(req.text) / 100000000
ValueError: invalid literal for int() with base 10: '83.58000000' 

我认为我正在尝试将对象用作数字,但尽管尝试进行转换,但我无法做到。

编辑:感谢 EdChum 的回复。对于想知道如何将比特币余额更改为 satoshis 的任何人,我在上述请求中使用了此代码-

SatoshiConvert = int((float(req.text))*100000000)

【问题讨论】:

  • 错误很明显,您正在尝试将浮点字符串转换为 int,为什么不转换为浮点数?
  • 谢谢。我从这里读到不建议使用浮点数:en.bitcoin.it/wiki/Proper_Money_Handling_%28JSON-RPC%29 在这个例子中这是一个担心吗?我也在尝试将余额从当前余额转换为 satoshis,这很困难,您是否建议使用格式来处理这个?
  • 你可以使用decimal

标签: python bitcoin


【解决方案1】:

您正在尝试将浮点值字符串转换为 int。这导致了你的错误。

使用下面的代码,我觉得是对的。

import requests
req = requests.get('http://blockexplorer.com/q/getreceivedbyaddress/19hMEAaRMbEhfSkeU4GT8mgSuyR4t4M6TH/1')

SatoshiConvert = float(req.text) / 100000000.0
print SatoshiConvert

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-12-27
    • 1970-01-01
    • 1970-01-01
    • 2020-04-14
    • 2019-05-16
    • 2014-04-22
    • 2019-05-18
    • 2019-01-30
    相关资源
    最近更新 更多