Qt之常用的数据转换、计算

版权声明:本文为博主原创文章,转载请注明出处。 https://blog.csdn.net/zbw1185/article/details/82778595

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)

猜你喜欢

转载自blog.csdn.net/zbw1185/article/details/82778595