如何显示浮点数
How do you display a float number?
这是我的C++代码。
#include <iostream>
#include <string.h>
#include <ctype.h>
#include <stdio.h>
int main()
{
FILE *f1;
char c;
int num[100], tokenvalue = 0, i = 0, j = 0;
f1 = fopen("test.txt", "r");
while ((c = getc(f1)) != EOF)
{
if (isdigit(c))
{
tokenvalue = c - '0';
c = getc(f1);
while (isdigit(c))
{
tokenvalue = tokenvalue * 10 + (c - '0');
c = getc(f1);
}
num[i++] = tokenvalue;
ungetc(c, f1);
}
}
printf("nThe no's in the program aren");
for (j = 0; j < i; j++)
{
printf("%d", num[j]);
printf("n");
}
int z;
scanf("%d", &z);
return 0;
}
我的test.txt输入文件有:
Name: Md. Jakir Hossin
Age: 23
Name: Shafi Mahmud
Age: 18.5
Name: Asmaul Husna
Age: 28
Name: Md. Jahirul Haque
Age: 30.4
输出:
[输出][1]
这个程序显示任何int数,但不显示float数。如何显示浮点数?
显示浮点数可以很好地使用:
printf("%f", 1.23f);
如果数字或变量不是float
,则强制转换将起作用:
int num[100];
....
printf("%f", (float) num[j]);
注意:传递给...
函数(如printf()
)的变量值将这些值转换为double
。
然而,OP真正的问题似乎是,这个数字需要作为某个浮点值从文件中读取。
// int num[100];
float num[100];
...
// Age: 18.5
char buf[50];
if (fgets(buf, sizeof buf, f1) == NULL) Handle_IOError_or_EOF();
if (sscanf(buf, "Age:%f", buf, &num[j]) != 1) Handle_UnexpectedData();
printf("Age: %.1fn", num[j]);
C++:
cout << num[j] << endl;
或
C:
printf("%f n", num[j]);
相关文章:
- 在C++中,将大的无符号浮点数四舍五入为整数的最佳方法是什么
- 如何修复此错误:未定义对"距离(浮点数,浮点数,浮点数,浮点数,浮点数)"的引用
- C++浮点数据类型和字符串数据类型无法子到模板函数中
- 使用提升将数据从 PyObject 复制到浮点数 *
- 使用浮点数和双精度数的非常小数字的数学
- 使用英特尔内联函数将打包的 8 位整数乘以浮点数向量
- 如何在 c++ 中将小数点后两位数的浮点数分配给另一个浮点数
- 返回浮点数的小数位数
- txt 文件中浮点数的最大和最小值
- 为什么 std::cout 打印浮点数、双精度和长双精度到相同的小数精度?
- 复制 -nan 表示浮点数,AVX __m256 复制后显示 0
- 为什么C++在将浮点数转换为字符时没有显示缩小转换错误?
- 为什么 std::setprecision 显示不存在的精度位以及如何查看实际浮点数
- 如何避免显示浮点数:-0.0
- 将浮点数显示为 QLabel 上的 QString 会显示点"."应去的"G"
- 我可以控制调试器窗口中显示的浮点数和双精度变量的位数吗?
- 使用浮点数、双精度数和长双精度数后,控制台中不显示所有数字
- 以C++格式全精度显示浮点数
- 如何显示浮点数
- 如何使用另一个字符串显示三个浮点数的最大值?