Любанович Б., «Простой Python», глава 𝟹:
«Функция 𝚒𝚗𝚝() будет преобразовывать в целые числа строки, состоящие из цифр и чисел с плавающей точкой, но не будет обрабатывать строки, содержащие десятичные точки или экспоненты».
В данном случае строка "𝟿𝟾.𝟼" содержит десятичную точку, что делает её непригодной для прямого преобразования.
Интерпретатор вызовет исключение 𝚅𝚊𝚕𝚞𝚎𝙴𝚛𝚛𝚘𝚛 с сообщением '𝚒𝚗𝚟𝚊𝚕𝚒𝚍 𝚕𝚒𝚝𝚎𝚛𝚊𝚕 𝚏𝚘𝚛 𝚒𝚗𝚝() 𝚠𝚒𝚝𝚑 𝚋𝚊𝚜𝚎 𝟷𝟶: '𝟿𝟾.𝟼'.
Для преобразования строки с десятичной точкой в целое число необходимо сначала использовать функцию 𝚏𝚕𝚘𝚊𝚝(), а затем 𝚒𝚗𝚝():
− 𝚏𝚕𝚘𝚊𝚝("𝟿𝟾.𝟼") → 𝟿𝟾.𝟼
− 𝚒𝚗𝚝(𝟿𝟾.𝟼) → 𝟿𝟾
Можно одной строкой: 𝚒𝚗𝚝(𝚏𝚕𝚘𝚊𝚝(«𝟿𝟾.𝟼»)) → 𝟿𝟾
Post #4406
742
- ❤ 1
- 👍 1
- 👎 1