Как убедиться, что пользовательский ввод находится в формате $ XX.XX? Также может быть в формате $ XX, но программа преобразует его в число с плавающей запятой 2

#python #python-3.x #floating-point

#python #python-3.x #с плавающей запятой

Вопрос:

Я хотел бы убедиться, что ввод от пользователя находится в формате $ XX или $ XX.XX. Если он в $ XX, то программа изменит значение $ XX на $ XX.00. По сути, я хочу получить от пользователя сумму в долларах и центах, убедиться, что это число с плавающей запятой с десятичным числом (если нет, верните сообщение об ошибке и снова запросите ввод), а затем подтвердите правильность суммы у пользователя. Я только начинаю, поэтому приветствуются несколько методов и объяснение того, что было бы лучше. Заранее спасибо!!!

def доход (компания):

 print("Do you have any income from", company, "today?")
ans = confirm()
delay(0.45)
if ans == True:
    total = input('What was your income from '   company   ' today?nIncome: 


Ответ №1:

Вы можете распечатать итоговое значение в формате XX.XX (или X.XX или XXX.XX и т.д.) с "{:.2f}".format(total) помощью. Это форматирует его как значение с плавающей запятой до двух знаков после запятой. Вам не нужно применять это форматирование к какой-либо математике, только к печати.

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

 try:
   val = float(userInput)
except ValueError:
   # your code here
 

Комментарии:

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

2. Предполагается, что это total число. Если вы хотите проверить, являются ли входные данные целыми числами, вы можете использовать редактирование, которое я только что добавил

)
while isinstance(total, (float, int)):
print("Invalid amount! Please enter in $XX.XX format.")
total = input('Income:

Ответ №1:

Вы можете распечатать итоговое значение в формате XX.XX (или X.XX или XXX.XX и т.д.) с "{:.2f}".format(total) помощью. Это форматирует его как значение с плавающей запятой до двух знаков после запятой. Вам не нужно применять это форматирование к какой-либо математике, только к печати.

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


Комментарии:

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

2. Предполагается, что это total число. Если вы хотите проверить, являются ли входные данные целыми числами, вы можете использовать редактирование, которое я только что добавил

)
if isinstance(total, (float, int)):
return total
print('Is

Ответ №1:

Вы можете распечатать итоговое значение в формате XX.XX (или X.XX или XXX.XX и т.д.) с "{:.2f}".format(total) помощью. Это форматирует его как значение с плавающей запятой до двух знаков после запятой. Вам не нужно применять это форматирование к какой-либо математике, только к печати.

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


Комментарии:

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

2. Предполагается, что это total число. Если вы хотите проверить, являются ли входные данные целыми числами, вы можете использовать редактирование, которое я только что добавил

, total ,'correct?')
totalconfirm = confirm()
while totalconfirm == False:
total = float(input('Enter the correct amount:

Ответ №1:

Вы можете распечатать итоговое значение в формате XX.XX (или X.XX или XXX.XX и т.д.) с "{:.2f}".format(total) помощью. Это форматирует его как значение с плавающей запятой до двух знаков после запятой. Вам не нужно применять это форматирование к какой-либо математике, только к печати.

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


Комментарии:

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

2. Предполагается, что это total число. Если вы хотите проверить, являются ли входные данные целыми числами, вы можете использовать редактирование, которое я только что добавил

))
totalconfirm = confirm()
elif ans == False:
return False

Ответ №1:

Вы можете распечатать итоговое значение в формате XX.XX (или X.XX или XXX.XX и т.д.) с "{:.2f}".format(total) помощью. Это форматирует его как значение с плавающей запятой до двух знаков после запятой. Вам не нужно применять это форматирование к какой-либо математике, только к печати.

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


Комментарии:

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

2. Предполагается, что это total число. Если вы хотите проверить, являются ли входные данные целыми числами, вы можете использовать редактирование, которое я только что добавил