Работа с системой индексации текстовых виджетов Tkinter. - PullRequest
1 голос
/ 01 июня 2011

Как разделить число с плавающей запятой.

Например:

1.24345 вернет 24345

1455.24 вернет 24

1455.0 вернет 0

Редактировать:

Мое решение, вдохновленное Ником Оделлом.Это ориентировано специально на виджет Tkinter Text.

index = '140.2020'

split = index.split('.')

nindex = [int(i) for i in split]

print nindex

Ответы [ 4 ]

5 голосов
/ 01 июня 2011

Виджет текста Tkinter

Обратите внимание, что индексы строк / столбцов могут выглядеть как значения с плавающей запятой, но редко можно рассматривать их как таковые (рассмотрите положение 1.25 против1,3, например).Я иногда использую 1.0 вместо «1.0», чтобы сохранить несколько нажатий клавиш при обращении к первому символу в буфере, но это все.

Вы должны были упомянуть контекст в OP (Tkinter TextWidget).То, что вы делаете, не имеет ничего общего с числами с плавающей точкой.Вы просто находите точку, за которой следует целое число.Вы никогда не должны хранить это значение в любой переменной с плавающей точкой.(Это может иметь ужасные последствия.)

5 голосов
/ 01 июня 2011

Предполагая, что index является строкой, поскольку вы работаете с индексом текстового виджета:

int(index.split('.')[-1])

Если у вас действительно есть число с плавающей запятой, вам нужно сначала преобразовать его в строку:

int(str(index).split('.')[-1])
0 голосов
/ 02 июня 2011
def after_period(number):
    return int(str(number).partition(".")[2])
0 голосов
/ 01 июня 2011

Использовать divmod

for num in [1.24345, 1455.24]:   
    whole, dec = divmod(num, 1)   
    print num, whole, dec 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...