如何将浮点数转换为没有零和点

How to convert float to without zeros and points

我正在用C语言编程,我对浮点值的转换有疑问。

我有这个完美运行的总结代码:

float number = get_float("Number: ");
float convert= number * 100; 
printf("Number: %g\n", convert);

使用 printf%g 我可以看到 number 而没有 zeros and points.

我如何获得 printf%g 相同结果,但是concatenating in the float convert 变量直接获取转换?

输出:

我有:

0.70 ----> 70.000000

我需要:

0.70 ----> 70

谢谢

阅读打印和说明符 %f 的文档

printf("Number: %.0f\n", convert);
// print floating point with no point and 0
// eg : printf("Number: %.0f\n", 70.0000); -> 70

你需要的是一个整数。 int 没有小数部分。 试试这个

int convert= number * 100;

Casting 应该可以解决问题。这是您的代码的修改版本,可以按要求工作:

#include <stdio.h>
#include <stdlib.h>

int main()
{
  // getting float
  float number = get_float("Number: ");

  // casting to int to get rid of fractional part
  int convert = (int)(number * 100);

  // printing to check
  printf("Number: %d\n", convert);
  
  return (0);
}