c++中如何把string类型转化为float类型

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c++中如何把string类型转化为float类型相关的知识,希望对你有一定的参考价值。

c++里面,如何将string转化为float呢?
很多方法我都试过了,但是都没用呢!会出错
还有可以像这样赋值吗?
f = float.Parse(b);(我认为这是错误的,有没有对的啊)
谢谢哈
(难道不能有像vb中的val()函数一样的东西吗?)
那个谁啊,我用atof它提示出错

你需要包含头文件math.h

变量的类型在写程序的时候你就已经知道了,所以处理的时候就直接按类型来,如果变量类型是float,就直接参与运算,如果变量类型是string,就用atof转换

需要加上头文件math.h
#include <stdio.h>
#include <math.h>
int main()

char str[]="1.1";
float f;
f=atof(str);
printf("%f\n",f);
参考技术A #include <stdlib.h>
char *str;
float f;
f = (float)atof(str);
参考技术B string代表的是字符串,float则是实数,一个是数组,一个是数,根本不可能这样赋值 参考技术C atof 函数返回的是double类型,double类型转换成float类型时是会出现误差的,甚至是溢出 参考技术D 好像没有啊

c和c++如何把一个整数转化为string

c和c++如何把一个整数转化为string

C++:

一、string转int的方式

  1. 采用最原始的string, 然后按照十进制的特点进行算术运算得到int,但是这种方式太麻烦,这里不介绍了。

  2. 采用标准库中atoi函数。

    string s = "12"; 
    int a = atoi(s.c_str());
     
    对于其他类型也都有相应的标准库函数,比如浮点型atof(),long型atol()等等。

  3. 采用sstream头文件中定义的字符串流对象来实现转换。

    istringstream is("12"); //构造输入字符串流,流的内容初始化为“12”的字符串 
    int i; 
    is >> i; //从is流中读入一个int整数存入i中

二、int转string的方式

  1. 采用标准库中的to_string函数。

    int i = 12; 
    cout << std::to_string(i) << endl;
     
    不需要包含任何头文件,应该是在utility中,但无需包含,直接使用,还定义任何其他内置类型转为string的重载函数,很方便。

  2. 采用sstream中定义的字符串流对象来实现。

    ostringstream os; //构造一个输出字符串流,流内容为空 
    int i = 12; 
    os << i; //向输出字符串流中输出int整数i的内容 
    cout << os.str() << endl; //利用字符串流的str函数获取流中的内容
     
    字符串流对象的str函数对于istringstream和ostringstream都适用,都可以获取流中的内容。

C:

1
2
3
4
5
6
7
8
9
10
11
#include "stdio.h"
#include <stdlib.h>
#include <string.h>
void main()
{
int n=123456789;
char str[20];
 
itoa(n, str, 10);
printf("%s\\n",str);
}

作者:A-Little-Nut
欢迎任何形式的转载,但请务必注明出处。
限于本人水平,如果文章和代码有表述不当之处,还请不吝赐教。

以上是关于c++中如何把string类型转化为float类型的主要内容,如果未能解决你的问题,请参考以下文章

在SQL2000中如何把字符串转换成float型?

arduino 中如何将字符串型转换为float型?

在vc中,怎样把float类型的数据转换为string类型的数据

C++ 中怎么把string类型转换为float型或int型? C++处理字符串的方法似乎比较麻烦

c++ int转化为string 类型

请教在C++里如何把string类型转换成long型?