0

私はコードに取り組んでおり、次の形式でデータを取得します。

k=[{'item_id': '43381702', 'length': {'_exp': -2, '_is_special': False, '_int': '0', '_sign': 0}, 'height': {'_exp': -2, '_is_special': False, '_int': '0', '_sign': 0}, 'width': {'_exp': -2, '_is_special': False, '_int': '0', '_sign': 0}, 'unitweight': {'_exp': -3, '_is_special': False, '_int': '3000', '_sign': 0}, 'quantity': 1}]

そして、私が書くとき

float(k[0]['unitweight'])

浮動小数点数に変換する必要があります。しかし、それは与えています

TypeError: float() 引数は文字列または数値でなければなりません

予想通り。データがpython Decimal Module内に実装されているのと同じ形式であるため、私は混乱しています。データを float に変換できる方法 (ワンライナー) はありますか?

このリンクには、おそらく同じ質問があります。こちらもご覧ください。

4

1 に答える 1

2

これを取る:

d = {'_exp': -3, '_is_special': False, '_int': '3000', '_sign': 0}

為に:

k[0]['unitweight']

次のようなことができます。

import math  
math.copysign(int(d['_int']) ** d['_exp'], d['_sign'] * -1)

結果:

3.7037037037037036e-11

'_is_special'意味がわかりません。

于 2013-05-31T06:33:37.153 に答える