我有一个UINT16无符号整数
4455, 312, 560 or 70.如何使用printf在最后两个数字之前插入小数点,使示例数字显示为
44.55, 3.12, 5.60 or 0.70如果没有printf解决方案,是否有其他解决方案?
我不想使用浮点数。
发布于 2013-08-27 12:54:07
%.2d可以添加额外的填充零
printf("%d.%.2d", n / 100, n % 100);例如,如果n是560,则输出为:5.60
编辑:我一开始没有注意到这是UINT16,根据@Eric的评论,最好使用:
printf("%d.%.2d", (int) (x/100), (int) (x%100));发布于 2013-08-27 12:52:23
printf("%d.%.2d", x / 100, x % 100);发布于 2013-08-27 12:52:37
您可以直接使用printf ,而无需使用。
printf("%d.%02d", num/100, num%100);%02d表示与零填充对齐。
if num is 4455 ==>output is 44.55
if num is 203 ==>output is 2.03编辑:
通过查看@ Eric的评论,最好这样使用。
printf("%d.%02d", (int) (num/100), (int) (num%100));https://stackoverflow.com/questions/18465943
复制相似问题