Python въпрос

4 отговора 225 прегледа
#1

Python въпрос

Значи, имам много досаден проблем. Пиша една програмка и ми трябва всички числа да излизат като 5.60, 8.80, тоест след десетичната запетая да имам точно 2 цифри независимо дали последната е нула. Проблемът е, че като се използва str(a) където а е float и например 5.60, str(a) разкарва всички trailing zeroes и показва просто 5.6 Някакви идеи? Разбира се, мога да напиша функция, която решава това, но трябва да има нещо по стандартните модули, което директно ми решава проблема и за което не знам.

Отговор
в отговор на Hяkoй #2

Re: Python въпрос

print "%.2f" % (floatValue)

Отговор
в отговор на Paдo #3

Re: Python въпрос

Мерси, Радо, само, че на мене не ми трябва просто да го принтирам ами искам да го сложа в таблица с метод като SetText(row, column, stuff).

Отговор
в отговор на Hяkoй #4

Re: Python въпрос

Объркал съм те май с print-a :) Това с % е част от функционалността на стринга, не на принт.
Това
x = "asdasdasdas %.2f sdsdfmkcm %.3f" % (5.6, 3.2)
създава стринг, какъвто ти трябва, т.е. вместо str, за по-изчанчените неща използвай форматиране с %.

Отговор
в отговор на Paдo #5

Re: Python въпрос

Мерси Радо! Това е доста яко и не знаех за тоя трик. Отначало помислих, че както при С, това се дължи на принт.

Отговор