C++数值--字符串间转换方法总结

C/C++中相关的转换方法主要有如下几种:

(一)、使用CRT库中的转换函数族。

_itoa, _itow 及其反转换 atoi, _wtoi

_ltoa, _ltow 及其反转换 atol, _wtol

_ultoa, _ultow

_ecvt, _fcvt, _gcvt 及其反转换

_atodbl, _atoldbl,_atoflt

...(太多了,不想写了)

使用此方法的优点:是C标准库中函数,现成可用且可移植(部分为平台相关 )。

缺点:转换函数较多,命名不统一以致难以记住,使用不方便。

(二)、借助C++98标准中的stringstream模板类实现。

数值到字符串的转换可如下实现:

template <typename CharT,typename NumericT>
basic_string<CharT>Numeric2String(NumericT num)
{
  basic_ostringstream<CharT>oss;
  oss << num;
  return oss.str();
}

其中,CharT类型可以是char或wchar_t,对应的返回类型分别是string和 wstring。NumericT类型除了可以是int, long, float等内建(build-in)数值类 外型,还可以是重载了operator << 运算符的class类型。像这样使用:    

string str=Numeric2String<char>(10);
wstring wstr=Numeric2String<wchar_t>(10.1f);

同理,我们可以实现字符串到数值的转换:

1.template <typename NumericT, typename CharT>2.NumericT String2Numeric(const basic_string<CharT> &str)3.{4.     basic_istringstream<CharT> iss(str);5.     NumericT result;6.     iss >> result;7.     return result;8.}

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索c++
, 字符串
, 标准
, 函数
, 方法
, itoa
, itoa c++
, c转换c++
, stringstream
, stringstream用法
, 数值
, C++数值交换
, itoa()
itoa函数
js数值转换成字符串、spss字符串转换数值、mysql 数值转换字符串、数值转换为字符串、数值转换成字符串,以便于您获取更多的相关知识。

时间: 2024-08-19 11:43:18

C++数值--字符串间转换方法总结的相关文章

正则表达式删除两个字符串间的字符实例

利用正则表达式删除两个字符串间的字符  代码如下 复制代码 <user>       <id>18752</id>       <name>方方</screen_name>       <name>方方</name>       <province>44</province>       <city>3</city> </user> 比如删除<user>

javascript实现的字符串与十六进制表示字符串相互转换方法_javascript技巧

本文实例讲述了javascript实现的字符串与十六进制表示字符串相互转换方法.分享给大家供大家参考.具体如下: 之所以写这个,是因为发现SQL注入和XSS中经常利用十六进制表示的字符串,比如 SELECT CONCAT(0x68656c6c6f); 得到的是hello <!DOCTYPE html> <html> <head> <title>Hex-Char Bi-Converter</title> </head> <body

C# DataTable中Compute方法用法集锦(数值/字符串/运算符/表等操作)_C#教程

本文实例讲述了C# DataTable中Compute方法用法.分享给大家供大家参考,具体如下: Compute函数的参数就两个:Expression,和Filter. Expresstion是计算表达式,关于Expression的详细内容请看这里: http://msdn2.microsoft.com/zh-cn/library/system.data.datacolumn.expression(VS.80).aspx 而Filter则是条件过滤器,类似sql的Where条件. DataTab

数值字符串转化为真实数值

/****************************************************************************** ** 文件名称:StrToData.h ** 作    者:罗振 ** 完成日期:2009-9-24 ******************************************************************************/#include<iostream>#include<string>

java获得字符串间运算符变量的值

例如:Stirng str="a+b*c/d"; 获取出a,b,c,d放入数组中   import java.util.regex.Matcher; import java.util.regex.Pattern;  public class Test {    public static void main(String[] args){   String str="a+b*c/d";    Pattern p=Pattern.compile("[a-z]

js数值和和字符串进行转换时可以对不同进制进行操作

 这篇文章主要介绍了js数值和和字符串进行转换时可以对不同进制进行操作,需要的朋友可以参考下 Javascript数值和和字符串进行转换时,可以对不同的进制进行操作.    转换例子如下:   代码如下: <html>    <head>  <meta http-equiv="Content-Type" content="text/html; charset=gb2312">  <title>带进制的数值和字符串间进行

js随机生成字母数字组合的字符串 随机动画数字_javascript技巧

js随机动画生成一组随机数字 在线预览 点击下载 效果描述: 附件中只有一个index.html文件有效 其中包含css以及html两部分内容 纯js生成的几个随机数字 每次都不重复,点击按钮后再次切换 使用方法: 1.将css样式引入到你的网页中 2.将body中的代码部分拷贝到你需要的地方即可 JS生成随机的由字母数字组合的字符串  前言 最近有个需求,是需要生成3-32位长度的字母数字组合的随机字符串,另一个是生成43位随机字符串. 方法一 奇妙的写法 Math.random().toSt

java中string字符串操作程序整理

String的两种实例化方法 String本身是一个类,在String类中定义了如下的构造方法: public String (String original) 可以接收一个String类的对象,并重新实例化String对象,除了此方法之外,String还可以采用直接赋值的方式进行对象的实例化.  代码如下 复制代码 public class StringDemo01{  public static void main(String args[]){   String str1 = "hello

窥探Swift之字符串(String)

之前总结过Objective-C中的字符串<Objective-C精选字符串处理方法>,学习一门新语言怎么能少的了字符串呢.Swift中的String和Objective-C语言中NSString还是区别不小的,Swift中的String又回归了正常状态,使用起来更为方便快捷.本篇博客的主题就是Swift中的字符串类型String,String在Swift中让人省心了不少.今天这篇博客就好好的认识一下Swift中的String. 一.字符串拷贝 在Swift中的字符串拷贝直接可以使用=号来操作