Предположим, что у меня есть вход 3.50 (строка), как его разобрать, чтобы он хранился как 3 доллара и 50 центов. Доллары и центы являются целыми числами, и atoi не допускается.Как разбирать доллары и центы в C
Я имею это в виду, но, видимо, он не работает в C (при условии, токена 3,50):
dollars = int(token); /* dollars is 3 */
cents = atoi(token) - dollars; /* atoi is not allowed but I can't think of anything else */
Спасибо!
Пожалуйста, не конвертируйте значение в 'float'. Люди смеются над ошибками округления. –
Если 'atoi' не разрешено, нужно задаться вопросом, разрешена ли * любая функция библиотеки. Возможно, все дело в том, чтобы разобрать строку самостоятельно, по одному персонажу за раз. – user3386109
Используйте 'sprintf' вместо' atoi'. – ymn