博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
如何将数字(包括double型)转换为字符串 (转载)
阅读量:7282 次
发布时间:2019-06-30

本文共 1346 字,大约阅读时间需要 4 分钟。

今天跟一个在腾讯工作的同学聊天了,他问我如何将一个数转换为一个字符串,我跟他说是这样的:

char buffer[10];
_itoa(i, buffer, 10);
可是他说不一定是int型转化为字符串,我着这样回答的:循环将这个数字乘以10,计数。转化为long型后,使用_ltoa()函数,然后再在相应的位置上加上一个小数点。现在想想这是一个很笨的解决方案。他说其实只需要一行代码就可以了,我看后感觉很好,也很常用,写到这里供大家参考。
#define toString(x) #x
这个宏就可以将所有的数字,包括int型、long型和double型转换为相对应的字符串。关于这种类似的用法还有:
#define makechar(x)    #@x
a = makechar(b);
这个结果就相当于a='b'。
#define stringer( x ) printf( #x
"\n" )
  void main()
{
        stringer( In quotes
in the printf function call\n );
        stringer(
"In quotes when printed to the screen"\n );    
        stringer(
"This: \"    prints an escaped double quote" );
}
  //预处理时将会产生如下代码。
  void main()
{
     printf(
"In quotes in the printf function call\n"
"\n" );
     printf(
"\"In quotes when printed to the screen\"\n"
"\n" );
     printf(
"\"This: \\\" prints an escaped double quote\""
"\n" );
}
  运行结果:
  In quotes
in the printf function call
  "In quotes when printed to the screen"
  "This: \" prints an escaped double quotation mark"
这种用法可以省去转义字符(\),很方便代码的编写。
关于#的用法还有很多,希望有兴趣的读者能够留言,我们一起讨论。

本文出自 “” 博客,请务必保留此出处

 

实践:

#define toString(x) (#x)

#define stringer(x) (printf(#x"\n"))
#define mynameandbirthday(x) ("hekexin"#x)

int main()

{

    std::string str(toString(1000));

    std::cout<<str<<std::endl;
    stringer(hello world);
    stringer(1234fff5455);

    std::cout<<mynameandbirthday(19841102)<<std::endl;

    std::cout<<mynameandbirthday(19841223)<<std::endl;

  return 0;

}

转载地址:http://ebkjm.baihongyu.com/

你可能感兴趣的文章
中国青年报:COS 有义务回应公众质疑
查看>>
《HFSS电磁仿真设计从入门到精通》一第1章 HFSS概述
查看>>
Java并发/多线程教程——3多线程的开销
查看>>
ForestDB —— 快速的 Key-Value 存储引擎
查看>>
《智能数据时代:企业大数据战略与实战》一1.5 大数据环境下的处理分析工具...
查看>>
Let's Encrypt 客户端将由EFF管理
查看>>
基于Servlet的技术问答网站系统实现(附源码)
查看>>
写给 Python 初学者的设计模式入门
查看>>
使用Redis存储Nginx+Tomcat负载均衡集群的Session
查看>>
《电路分析导论(原书第12版)》一1.3 测量单位与单位制
查看>>
《VoIP技术构架(第2版·修订版)》一第1章 PSTN概览及与VoIP的比较
查看>>
《PPT高手之道:六步变身职场幻灯派》一0.1 PPT/Presentation的本质
查看>>
fqueue初步分析
查看>>
《Node.js区块链开发》——3.3 PoS:股权证明机制
查看>>
FaceBook API
查看>>
《Swift 权威指南》——第6章,第6.11节小结
查看>>
自己动手开发一个 Web 服务器(二)
查看>>
《Node.js入门经典》一2.6 本地和全局的安装
查看>>
《Java EE核心框架实战》—— 2.4 < sql >标签
查看>>
《提高转化率!网页A/B测试与多变量测试实战指南》一2.2 掌控优化测试
查看>>