1. 程式人生 > >Qt之常用的資料轉換、計算

Qt之常用的資料轉換、計算

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)