在C中格式化浮点输入

问题描述

我对C编程很陌生。当前正在执行CS50课程,其中的get_float函数可确保我的用户输入为浮点数。

我使用do while循环来确保输入不是负数,如果是负数,我会再次提示用户输入。

我的问题是,如果用户的输入大于小数点后两位,有没有办法我可以拒绝用户输入,然后重新提示他们输入。

谢谢。

解决方法

get_float是仅适用于CS50的术语。没有办法限制小数点后的长度。

最终,您将切换到scanf,这是在c中获取输入的真正方法,但是请等到到达指针后再对此担心。

在打印数字时使用%.2f,它将减去其他任何小数点。

例如printf(“您的更改是%.2f”,更改)

即使数字为.029,这也将显示.02

如果需要取整,请使用round(change)

例如printf(“您的更改是%.2f”,取整(更改))

这将显示.30

您需要包括标头才能使用取整功能。

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...