C/C++中字符串与数字转换
本文总结了四种字符串和数字相互转换的方法,方法一和方法二是c++中的方法,方法三和方法四是C语言库函数的方法。
方法一:c++11中string中添加了下面这些方法帮助完成字符串和数字的相互转换
函数原型:float stof (const string& str, size_t* idx = 0);
函数原型:string to_string (float val);
#include <iostream>
#include <string> using namespace std;
int main() {
cout << stof("123.0") <<endl;
size_t pos;
cout << stof("123.01sjfkldsafj",&pos) <<endl;
cout << pos << endl;
cout << to_string(123.0) << endl;
return ;
}
方法二:C++中使用字符串流stringstream来做类型转化。stingstream能将任何类型轻松转变为字符串类型,也能将字符串类型转变为数字类型。有点类似<stdio.h>中的sprintf和sscanf函数,但是stringstream操作更加的安全、不会产生数组溢出等问题,而且操作简单。注意stringstream不会主动释放内存,要使用clear()函数释放内存。
#include <iostream>
#include <string>
#include <sstream> using namespace std;
int main() {
ostringstream os;
float fval = 123.0;
os << fval;
cout << os.str() << endl; istringstream is("123.01");
is >> fval;
cout << fval << endl;
return ;
}
三.C语言中的stdio.h中的sprintf、sscanf
sprintf 字符串格式化命令,主要功能是把格式化的数据写入某个字符串中。sprintf 是个变参函数。
sscanf 读取格式化的字符串中的数据。
四.C标准库stdlib.h中的atoi, atof, atol, atoll 函数
C/C++中字符串与数字转换的更多相关文章
- MySQL中字符串与数字比较的坑
公司项目代码中,某枚举字段数据库表中类型是char(1),在代码中,误以为是TINYINT,所以用数字筛选,后来发现结果不对.发现了一个现象,用数字0筛选会把所有的记录给筛选出来. 经过排查发现是在M ...
- SQL SERVER 将表中字符串转换为数字的函数 (详询请加qq:2085920154)
在SQL SERVER 2005中,将表中字符串转换为数字的函数共2个:1. convert(int,字段名) 例如:select convert(int,'3')2. cast(字段名 as i ...
- C/C++中字符串与数字之间的转换
主要有两种方式:C 中能够使用 sprintf 将数字转为字符数组,sscanf 将字符数组转为数字:而在 C++ 中不仅能够使用 C 中的方法,还能够使用 stringstream 实现字符串与数字 ...
- js中字符串,数字之间转换的常用方法
var number={ num:, num1:"2你好" }; //将数字转换为字符串 var str=number.num.toString();//十进制 );//二进制 ) ...
- java中字符串与数字的互相转换
import java.text.DecimalFormat; /* * String类中本身提供方法可以将几乎所有的基本类型转换为String类型 * sysout alt+/ 可以直接显示Syst ...
- js中字符串转数字的方法
1.当字符串中是纯数字 例如:var s = '234'; /********** 字符串在运算操作中会被当做数字类型来处理 ***************/ s *= 1; /******* str ...
- C/C++中字符串和数字互转小结
一. 数字 转 char*型 1.sprintf函数(适合C和C++) 示例: char str[50]; int num = 345; sprintf(str,"%d",num) ...
- C/C++中字符串与数字相互转换
数字转字符串: 用C++的streanstream: #include <sstream> #Include <string> string num2str(double i) ...
- js中字符串转换为数字
js 字符串转化成数字的三种方法主要有 转换函数.强制类型转换.利用js变量弱类型转换. 1. 转换函数: js提供了parseInt()和parseFloat()两个转换函数.前者把值转换成整数,后 ...
随机推荐
- django系列8.3.2--django中间件实现登录验证(2) 个人构想逻辑
middleware.py from django.utils.deprecation import MiddlewareMixin from django.shortcuts import rend ...
- Web Api 端点设计 与 Oauth
最近一直看这方面的东西,总结如下: 在后续会进行实例demo演示,本篇进行理论详解. 下篇相关博客: <Web Api 内部数据思考 和 利用http缓存优化 Api> <API接口 ...
- “全栈2019”Java第一百一十三章:什么是回调?回调应用场景详解
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...
- ROS(机器人URDF模型优化)
URDF模型 xacro优化后的URDF模型 1.精简模型代码(创建宏定义,文件包含) 2.提供可编程接口(常量,变量,数学计算,条件语句) 常量定义: name:base_length的值value ...
- sublime package control失败
https://blog.csdn.net/jyfu2_12/article/details/86667132 安装时的错误提示如下: Error installing Package Control ...
- Java性能优化技巧及实战
关于Java代码的性能优化,是每个javaer都渴望掌握的本领,进而晋升为大牛的必经之路,但是对java的调优需要了解整个java的运行机制及底层调用细节,需要多看多读多写多试,并非一朝一夕之功.本文 ...
- Centos7 DNS神奇的配置
文件 [root@iff etc]# cat /etc/named.conf // // named.conf // // Provided by Red Hat bind package to co ...
- Optional类
参照: 一篇简单使用介绍 官网详细用法介绍 包含各种例子的cheetsheet 一个封装某个value的容器 一般可用于方法返回值类型,提醒调用方,这个值可能为null,所以需要处理(因为空指针异常是 ...
- canvas+js绘制序列帧动画+面向对象
效果: 素材: 源码:(一般的绘制方式) <!DOCTYPE html> <html lang="en"> <head> <meta ch ...
- Maven 问题笔记汇总
Web项目通过Maven部署到Tomcat的错误. Maven环境下面多项目之间的引用 Maven 远程仓库下载慢的的解决方案 Intellij IDEA 像eclipse那样给maven添加依赖 I ...