gpt4 book ai didi

objective-c - 将字符串转换为 float ,而不使用 c 中的内置函数

转载 作者:行者123 更新时间:2023-11-30 14:27:57 25 4
gpt4 key购买 nike

我不知道如何将字符串值转换为 double 或 float 。这是我尝试转换的示例字符串:“3.45667”。我正在努力处理点。

我尝试了这个,但它不起作用:

#include<stdio.h>

int main()
{
char string_array[] = { "3.45667" };
float float_array[20], index = 0;

for(index = 0 ; index < 7 ; index++)
{
if(string_array[index] == '.')
{
printf("dot");
// here, how to add dot to the float_array?
} else
{
float_array = (float)(string_array[index] - '0');
}
}
return 0;
}

如何在上面的代码中添加小数点?我认为这可以用指数形式来完成,但我不知道如何使用指数形式。

最佳答案

这是一个算法..

  1. 找到
  2. 获取该点的子字符串并转换为整数(遍历字符,转换为 int - 应该是一个简单的问题)
  3. 对后面的所有内容执行相同的操作,并跟踪“小数”部分中的位数。
  4. 将“小数”部分除以 10 的位数次方,然后将其与积分部分相加。

编辑:如果不使用 C 函数,并给出 c++ 标记,我会选择..

std::istringstream foo("3.141");
double v;
foo >> v;

看不到 C 函数! ;)

关于objective-c - 将字符串转换为 float ,而不使用 c 中的内置函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7093549/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com