C - float 字符串

标签 c string numbers

我想将多个十进制数字的字符串转换为 float 。就我而言,当程序启动时,系统会要求用户写入一些数字,并将其保存到数组(付款)中,但之后我需要使用这些数字。正确的做法是什么?

编辑:主要问题是我不知道如何读取这些数字的序列,例如插入付款:“1 2 3”,我希望结果是 1 2 3,而我的实际结果只是 1。

这是我的代码。

 int main(){

    char payment[100];
    printf("Insert money for payment: ");
    fgets(payment,100,stdin);
    printf("Insert money for payment: %s\n", payment);


    return 0;
}

提前谢谢

最佳答案

您可以使用 sscanf 来执行此操作。

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main () {
    float paymentf;
    char payment[100];
    printf("Insert money for payment: ");
    fgets(payment,100,stdin);
    printf("Insert money for payment: %s\n", payment);
    sscanf( payment, "%f", &paymentf );
    printf("Payment in float = %f\n", paymentf );
    return(0);
}

关于C - float 字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53350740/

相关文章:

c++ - 如何将 wchar_t 值打印到控制台?

ruby - 如何在ruby中获取两个字符串之间的文本?

java - 如何从多个字符串中解析文本?

javascript - 读取以逗号分隔的 Javascript 数字

c - C中的Dijkstra算法,想要路径

c - 将函数指针作为参数传递给 fopen

javascript - 在 JavaScript 中,为什么 num == [num]?

c# - 如何使用 LINQ 从 List<int> 中获取最接近的数字?

C编程为什么++操作后局部变量在调试器中不可用?

c - C语言程序求最小的三个数