如何将浮点数转换为没有零和点
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);
}
我正在用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);
}