Qt之常用的資料轉換、計算
阿新 • • 發佈:2018-12-12
int與string之間的轉換
Qt C++
int i;
QString str;
str = QString::number(i);
QString str;
int i;
i = str.toInt();
Qml
property string str: "5"
property int num: 0
num = parseInt(str)
property string str: " "
property int num: 235
str = num.toString()
QString 與 QByteArray之間 的轉換
QString str; QByteArray byte; byte = str.toLatin1();
QByteArray byte;
QString str;
str = QString(byte);
QByteArray 與 char*之 間的轉換
char *ch;
QByteArray byte;
ch = byte.data();
char *ch;
QByteArray byte;
byte = QByteArray(ch);
QString與char 之間的轉換
QString str = "a";
char c;
QByteArray byte = str.toLatin1();
c = byte.operator [](0);
char c = 'a'; QString str; str = QString(c);
QString 與char*之間的轉換
QString str = "abc";
char *ch;
QByteArray byte = str.toLatin1();
ch = byte.data();
char *ch;
QString str;
str = QString::fromLatin1(ch);
doblue/float取小數點後n位
引數2表示取小數點後2位
double/float size = 2.3334524;
QString str = QString::number(size, 'f', 2);
進位取捨計算
Qt C++
#include <QtMath> double a = 1.1314; int b = qCeil(a); //b=2, qCeil()為向上取整,無論小數點後是幾都進位 int c = qFloor(a); //b=1, qFloor()為向下取整,無論小數點後是幾都舍掉 int d = qRound(a); //b=1, qRound()為四捨五入
Qml
var a = 1.1314
var b = Math.ceil(a)
var c = Math.floor(a)
var d = Math.round(a)