printf,如何为整数插入小数点

ris*_*scy 4 c printf

我有一个UINT16无符号整数

4455, 312, 560 or 70.
Run Code Online (Sandbox Code Playgroud)

如何使用printf在最后两位数之前插入一个小数点,以便示例数字显示为

44.55, 3.12, 5.60 or 0.70
Run Code Online (Sandbox Code Playgroud)

如果没有printf解决方案,还有其他解决方案吗?

我不想使用浮点数.

Yu *_*Hao 7

%.2d 可以添加额外的填充零

printf("%d.%.2d", n / 100, n % 100);
Run Code Online (Sandbox Code Playgroud)

例如,如果n560,则输出为:5.60

编辑:UINT16根据@Eric Postpischil的评论,我最初没有注意到它,最好使用:

printf("%d.%.2d", (int) (x/100), (int) (x%100));
Run Code Online (Sandbox Code Playgroud)