C++中數字和字符的轉換


參考:http://blog.csdn.net/xw20084898/article/details/21939811

http://nnssll.blog.51cto.com/902724/198237/

http://www.cnblogs.com/luxiaoxun/archive/2012/08/03/2621803.html

一、stringstream通常是用來做數據轉換的。

1、例如int轉string:
#include <string>
#include <sstream>
#include <iostream>
int main()
{
    std::stringstream stream;
    std::string result;
    int i = 1000;
    stream << i; //將int輸入流
    stream >> result; //從stream中抽取前面插入的int值
    std::cout << result << std::endl; // print the string "1000"
}

2、char*:

int main()
{
    std::stringstream stream;
    char result[8] ;
    stream << 8888; //向stream中插入8888
    stream >> result; //抽取stream中的值到result
    std::cout << result << std::endl; // 屏幕顯示 "8888"
}

3、再進行多次轉換的時候,必須調用stringstream的成員函數clear();

#include <sstream>
#include <iostream>
int main()
{
    std::stringstream stream;
    int first, second;
    stream<< "456"; //插入字符串
    stream >> first; //轉換成int
    std::cout << first << std::endl;
    stream.clear(); //在進行多次轉換前,必須清除stream
    stream << true; //插入bool值
    stream >> second; //提取出int
    std::cout << second << std::endl;
}

————————————————————————————————————

二、sprintf函數

char str[10];
int a=1234321;
sprintf(str,"%d",a);
--------------------
char str[10];
double a=123.321;
sprintf(str,"%.3lf",a);
--------------------
char str[10];
int a=175;
sprintf(str,"%x",a);//10進制轉換成16進制,如果輸出大寫的字母是sprintf(str,"%X",a)

 三、to_string (int val);

int num=1;

string str=to_string(num);


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM