字符串与数字的互转

1、字符串数字之间的转换

(1)string --> char *

string str(“OK”);

char * p = str.c_str();

(2)char * -->string

char *p = “OK”;

string str§;

(3)char * -->CString

char *p =“OK”;

CString m_Str§;

//或者

CString m_Str;

m_Str.Format("%s",p);

(4)CString --> char *

CString str(“OK”);

char * p = str.GetBuffer(0);

str.ReleaseBuffer();

(5)string --> CString

CString.Format("%s", string.c_str());

(6)CString --> string

string s(CString.GetBuffer(0));

GetBuffer()后一定要ReleaseBuffer(),否则就没有释放缓冲区所占的空间,CString对象不能动态增长了。

(7)double/float->CString

double data;

CString.Format("%.2f",data); //保留2位小数

(8)CString->double

CString s=“123.12”;

double d=atof(s);

(9)string->double

double d=atof(s.c_str());

2、数字转字符串:使用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)

char itoa(int value, char string, int radix);

同样也可以将数字转字符串,不过itoa()这个函数是平台相关的(不是标准里的),故在这里不推荐使用这个函数。

3、字符串转数字:使用sscanf()函数

char str[]=“1234321”;

int a;

sscanf(str,"%d",&a);

char str[]=“123.321”;

double a;

sscanf(str,"%lf",&a);

char str[]=“AF”;

int a;

sscanf(str,"%x",&a); //16进制转换成10进制

另外也可以使用atoi(),atol(),atof().

4、使用stringstream类

用ostringstream对象写一个字符串,类似于sprintf()

ostringstream s1;

int i = 22;

s1 << "Hello " << i << endl;

string s2 = s1.str();

cout << s2;

用istringstream对象读一个字符串,类似于sscanf()

istringstream stream1;

string string1 = “25”;

stream1.str(string1);

int i;

stream1 >> i;

cout << i << endl; // displays 25

C++输入参考

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在Python中,可以使用int()函数将字符串转换为数字。要将一个字符串数组中的每个字符串都转换为数字,可以首先使用split()函数将字符串数组拆分为单个字符串,然后使用int()函数将每个字符串转换为数字。例如,如果我们有一个名为arr的字符串数组,可以使用以下代码将其转换为数字数组: arr = ["1", "2", "3"] nums = [int(x) for x in arr] # nums现在是一个包含数字的数组[1, 2, 3] 在这个例子中,我们使用列表推导式将arr中的每个字符串转换为数字,并将结果存储在新的nums数组中。通过这种方法,我们可以将字符串数组转换为数字数组。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [Python数组转字符串互转详细操作](https://blog.csdn.net/mycocoo/article/details/115213445)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *3* [Python中字符串型数组--转换为-->数字型数组](https://blog.csdn.net/Erudite_x/article/details/119614955)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值