我已经检查过与此主题相关的其他帖子,并使用该atoi
函数转换字符串,但值始终为0.
以下是存储在以下内容中的值hold4
:
char hold4[4] = { "0", "." , "1", "5", "\0");
Run Code Online (Sandbox Code Playgroud)
然后我尝试转换为一个int
,我得到
int hm = atoi(hold4);
Run Code Online (Sandbox Code Playgroud)
hm
打印出来:
hm = 0
Run Code Online (Sandbox Code Playgroud)
我希望hm
是0.15,因为这是值hold4
.我想将此值用于后续的数学运算.
这是我的代码:
int x = 0;
int pixel = 0;
char hold[10];
char hold4[4];
for(x=0; x < linesCount; x++)
{
fscanf(model, "%c", &hold[x]);
if(hold[x] == '\0' || hold[x] == '\r' || hold[x] == '\n')
{
hold4[0] = hold[x-4];
hold4[1] = hold[x-3];
hold4[2] = hold[x-2];
hold4[3] = hold[x-1];
hold4[4] = '\0';
// printf("new line: break\n");
}
//printf("pixel: %c\n", hold[x]);
}
int hm = atoi(hold4);
printf("\nhold4: %d\n", hm);
Run Code Online (Sandbox Code Playgroud)
我该如何工作?