Qt数字转字符串

2进制,8进制,10进制,16进制无保留地转换字符串。

常用转换

  • 使用QString的number接口下列设置会被转换为10进制的字符串,显然不是我们想要的。
QString::number(0b111); // "7"
QString::number(0123);  // "83"
QString::number(123);   // "123"
QString::number(0x123); // "291"

保留进制的转换

  • number接口添加进制参数让它转换具备进制的字符串,但看起来像10进制的字符串,感觉也不是自己想要的。
QString::number(0b111, 2);  // "111"
QString::number(0123, 8);   // "123"
QString::number(123, 10);   // "123"
QString::number(0x123, 16); // "123"

更彻底的转换

  • “#“在宏中的作用为将”#“后的内容转换为字符串
  • 这样带进制标识的转换看起来好多了。
#define TO_STR(n) #n
TO_STR(0b111); // "0b111"
TO_STR(0123);  // "0123"
TO_STR(123);   // "123"
TO_STR(0x123); // "0x123"
    原文作者:Qt君
    原文地址: https://blog.csdn.net/nicai_xiaoqinxi/article/details/96873600
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞