-1,1.51,-2.525,3.456...
etc 値のような文字列があります。
string
これを各 value( )に変換しfloat
、すべての値を追加して結果を生成する必要があります。
ここでも、結果の float を小数点以下 2 桁の文字列に変換する必要があります。
例 :-1+1.51-2.525+3.456 = 1.44.
前もって感謝します。
-1,1.51,-2.525,3.456...
etc 値のような文字列があります。
string
これを各 value( )に変換しfloat
、すべての値を追加して結果を生成する必要があります。
ここでも、結果の float を小数点以下 2 桁の文字列に変換する必要があります。
例 :-1+1.51-2.525+3.456 = 1.44.
前もって感謝します。
sscanf()
次のコードは、文字列を関数で分割するのに役立ちます
小数点使用後の 2 つの数字で float を表示するには"%.2f"
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
char str[256]="-1,1.51,-2.525,3.456";
int main()
{
float x, sum=0; int g;
while (g=sscanf(str,"%f,%s",&x,str))
{
printf("x=%f\r\n",x);
sum+=x;
if (g==1) break;
}
printf(" the sum is %.2f\r\n",sum);
}
ビルドと実行:
linux$ gcc -o test test.c -lpthread
linux$ ./test
x=-1.000000
x=1.510000
x=-2.525000
x=3.456000
the sum is 1.44
関数を調べてみると、strtof()
このようなことをするのに最適です。浮動小数点数を解析し、数値の一部とは見なされない最初の文字へのポインターも返すことに注意してください。