Как преобразовать входное число 34,6 в десятичную форму 34,6 в Python


Как преобразовать входное число 34,6 в десятичную форму 34,6 в python? Я сделал простую программу в pyqt4 GUI и в Германии Немцы считают ", " как "."Итак, как я могу преобразовать мое входное число" а " (редактирование строки )в десятичное?

def test(self): 
    a = int(self.ui.lineEdit.text()) 
    b = int (self.ui.lineEdit_2.text()) 
    Result = math.pow((a+b),2) 
    self.ui.lineEdit_3.setText(str(Result))
1 3

1 ответ:

Согласно in: здесь

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

from locale import *
setlocale(LC_NUMERIC, '') # set to your default locale; for me this is
# 'English_Canada.1252'. Or you could explicitly specify a locale in which floats
# are formatted the way that you describe, if that's not how your locale works :)
atof('123,456') # 123456.0
# To demonstrate, let's explicitly try a locale in which the comma is a
# decimal point:
setlocale(LC_NUMERIC, 'French_Canada.1252')
atof('123,456') # 123.456

Возможно, ваш код может быть:

from locale import *
def test(self):
    setlocale(LC_NUMERIC, 'French_Canada.1252')
    a = atof(self.ui.lineEdit.text()) 
    b = atof(self.ui.lineEdit_2.text()) 
    Result = math.pow((a+b),2) 
    self.ui.lineEdit_3.setText(str(Result))