易百教程

浮点数格式化

可以在格式说明符中指定小数点后面的位数。要获得两位小数的输出,请将格式说明符书写为%.2f
要获得三位小数,可以书写为:%.3f

因引,更改printf()语句,如下所示:

printf("A plank %.2f feet long can be cut into %.0f pieces %.2f feet long.\n", wood_length, table_count, table_length);

示例代码

#include <stdio.h>

int main(void)
{
      float wood_length = 101.0f;               // In feet
      float table_count = 40.0f;                 // Number of equal pieces
      float table_length = 0.0f;                // Length of a piece in feet
      table_length = wood_length/table_count;
      printf("A plank %.2f feet long can be cut into %.0f pieces %.2f feet long.\n", wood_length, table_count, table_length);
      return 0;
}

执行上面示例代码,得到以下结果:

hema@ubuntu:~/book$ gcc -o main main.c
hema@ubuntu:~/book$ ./main
A plank 101.00 feet long can be cut into 40 pieces 2.53 feet long.

第一种格式规范(%.2f)适用于wood_length的值,并将产生两位小数的输出。
第二种格式规范(%.0f)将不会产生小数位 - 它在这里是有意义的,因为table_count值是一个整数。
最后一个格式规范(%.2f)与第一个格式规范相同。