Пользовательское округление до следующего целого числа, если первая десятичная точка> 3? - PullRequest
0 голосов
/ 12 июля 2020

Как я могу округлить число с плавающей запятой до следующего целого числа, только если первое di git после десятичного числа> 3.

my_round(0.0546) должно быть 0. my_round(0.4) должно быть 1, my_round(1.35) должно быть 2.

Ответы [ 2 ]

0 голосов
/ 12 июля 2020

Да, забыл эту причину, но вы можете выполнить требуемую операцию с помощью кода ниже.

x = (input())#with input() the data will be taken as str directly if you have float data convert using str()
lis = list(x)

pos = lis.index('.')

element = int(lis[pos+1])
new_lis = lis[0:pos]
final_data = ''.join(new_lis)

if element >=3:
    x = int(final_data) + 1
else:
    x = int(final_data)
print (x)

определить индекс '.' и разделите новый список до символа "." index и превратите его в строку с помощью оператора .join ().

Подтвердите следующее значение после десятичного числа и увеличьте значение, которое образуется после оператора соединения.

0 голосов
/ 12 июля 2020

Примите ввод как строку, иначе, если он у вас есть как float, преобразуйте его в строку с помощью str ().

После преобразования в строку превратите его в список. проверить второй индекс (третья позиция в списке), больше или равно 3 или нет.

если да, возьмите нулевое значение индекса из списка и измените его на int и увеличьте на единицу или иначе измените его на int, проверьте пример кода ниже.

x = (input())#with input() the data will be taken as str directly if you have float data convert using str()
lis = list(x)
element = int(lis[2])
if element >=3:
    x = int(lis[0]) + 1
else:
    x = int(lis[0])
print (x)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...