2017-02-06 2 views
0

Я пытаюсь преобразовать следующую строку в float: u'"0.5"', но кажется, что она не работает. Я пытаюсь использовать float(str1) и я получаю следующее сообщение об ошибке:Правильно преобразовать строку в float python

ValueError: could not convert string to float: "0.5" 

Кажется, это способ, которым я хранить строку. Но как я могу правильно преобразовать его в поплавок?

+3

Вам не нужно самостоятельно убирать уши кролика? – Bathsheba

+2

'float (str1.strip ('' '))' – jbndlr

+0

'float (ast.literal_eval (u'" 0.5 "'))' –

ответ

1

Вы пытаетесь конвертировать " " плавать, что не возможно.

Это шаг за шагом кода, что вы должны сделать:

unicode_value = u'"0.5"' 

string_value = str(unicode_value) 

float_value = float(string_value.strip('"')) 

print float_value 

Это работает без импорта, но вы можете также использовать другое решение при условии, прежде чем на Shivkumar Конди.

0

Попробуйте это ..

import ast 

a = u'"0.5"' 
print a,type(a) 

b = ast.literal_eval(a) 
print b,type(b) 

c = float(b) 
print c,type(c) 

Выход:

"0.5" <type 'unicode'> 
0.5 <type 'str'> 
0.5 <type 'float'> 
Смежные вопросы