Превращение в капитал слов неASCII в Python

Я полагаю, что, не найдя стандарт, в котором говорится, что при сравнении float с double float приводится к double перед сравнением. Числа с плавающей запятой без модификатора считаются double в C.

Тем не менее, в C нет точного представления 0.1 в числах с плавающей запятой и двойных числах. Теперь использование float дает небольшую ошибку. Использование двойного дает вам еще меньшую ошибку. Теперь проблема в том, что, приведя float к double, вы переносите большую ошибку float. Конечно, теперь они не сравнятся.

Вместо использования (float)0.1 вы можете использовать 0.1f, что немного приятнее для чтения.

5
задан RichieHindle 17 June 2009 в 11:33
поделиться

2 ответа

Использовать строки Unicode:

# coding: cp1252
print u"é".capitalize()
# Prints É

Если все, что у вас есть, это 8-битная строка, сначала декодируйте ее в Unicode:

# coding: cp1252
print "é".decode('cp1252').capitalize()
# Prints É

Если вам снова понадобится 8-битная строка, закодируйте его:

# coding: cp1252
print "é".decode('cp1252').capitalize().encode('cp1252')
# Prints É (assuming your terminal is happy to receive cp1252)
10
ответ дан 13 December 2019 в 19:33
поделиться

capitalize () должен Just Work ™ для строк Unicode.

1
ответ дан 13 December 2019 в 19:33
поделиться
Другие вопросы по тегам:

Похожие вопросы: