Qt数字与字符串之间的相互转换
把QString轉換為?double類型
方法1.QString?str="123.45";
double?val=str.toDouble();?//val=123.45
方法2.很適合科學計數法形式轉換
bool?ok;
double?d;
d=QString("1234.56e-02").toDouble(&ok);?//ok=true;d;12.3456.
把QString轉換為float形
1.QString?str="123.45";
float?d=str.toFloat();?//d=123.45
2.QString?str="R2D2";
bool?ok;
float?d=str.toFloat(&ok);?//轉換是被時返回0.0,ok=false;
把QString形轉換為整形
1.轉換為十進制整形
注意:基數默認為10。當基數為10時,并且基數必須在2到36之
間。如果基數為0,若字符串是以0x開頭的就會轉換為16進制,若以0開頭就轉換為八進制,否則就轉換為十進制。
Qstring?str="FF";
bool?ok;
int?dec=str.toInt(&ok,10);?//dec=255?;?ok=rue
int?hex?=str.toInt(&ok,16);?//hex=255;ok=true;
3.常整形轉換為Qstring形
long?a?=63;
QString?str=QString::number(a,16);?//str="3f";
QString?str=QString::number(a,16).toUpper();?//str="3F";
Qstring?轉換char*問題!
方法一:
QString?qstr("hello,word");
const?char?*?p?=?qstr.toLocal8Bit().data();
方法二:
const?char?*p?=?qstr.toStdString().data();
轉換過來的是常量
把當前時間轉化為QString...
public?QDateTime?qdate?=?QDateTime.currentDateTime();
datetime?=?qdate.toString("yyyy年MM月dd日ddddhh:mm:ss");
如果不是QTime和QDate類比如說:通過TCP/IP接收到的char?unsigned?char?類等如何轉換為QString類
QString?Time2String(?DWORD?dwTime)
{
char?cTime[50]?=?{0};
memset(cTime,0,50);
strftime(cTime,32,"%Y-%m-%d?%H:%M:%S",localtime(&time_t(dwTime)));
return?QString(cTime);
}
總結
以上是生活随笔為你收集整理的Qt数字与字符串之间的相互转换的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Qt显示中文的方法
- 下一篇: Qt 布局(水平、垂直、网格)