我有此表單字段:area = forms.DecimalField(max_digits=20)當(dāng)我發(fā)布它時(shí),我得到unicode數(shù)據(jù):raise Exception(type(a.get('area',))結(jié)果是<type 'unicode'>如何將其轉(zhuǎn)換為浮點(diǎn)數(shù)?我想對結(jié)果執(zhí)行算術(shù)運(yùn)算。如果我這樣做:float(a.get('area', '0'))然后我得到這個(gè)float()參數(shù)必須是字符串或數(shù)字
3 回答

慕桂英546537
TA貢獻(xiàn)1848條經(jīng)驗(yàn) 獲得超10個(gè)贊
如果處理了表格并且您area按原樣獲得,<type 'unicode'>則足以將其轉(zhuǎn)換并對其進(jìn)行算術(shù)運(yùn)算。
area = form.data['area']
#area should be <type 'unicode'>
area_float = float(area)
考慮下面的例子
a = u'1.34'
a_float = float(a)
type(a_float)
>> <type 'float'>
然而考慮到一個(gè)DecimalField用途蟒decimal內(nèi)部類型和是由不同蟒float其中使用通過FloatField。
十進(jìn)制類型在此處了解有關(guān)十進(jìn)制類型的更多信息。

catspeake
TA貢獻(xiàn)1111條經(jīng)驗(yàn) 獲得超0個(gè)贊
您可以將其與包含數(shù)據(jù)的變量一起使用。{variable | Floatformat}我一直在模板中使用它??赡芸梢詭椭?。:)
添加回答
舉報(bào)
0/150
提交
取消