-2

シリアル comport データの読み書きプログラムがあります。データはコンポート 4 (例: 1022) から読み取られていますが、データ 1022/2 の数学的計算を実行しようとすると、0.5 5.0 51.00 511.01022 全体を単一の数値として取得しないことを意味する出力が得られます。数学的計算。最初に 1 を取り、次に 1/2=0.5 を割り、次に 0 桁を受信したら、10/2=5 として取ります。しかし、1022 を 1 桁の数字にしたい (例: 1022/2=511)

計算のために QByteArray を Double に変換しようとしました。

出力

     void MainWindow::readData()
 {
     QByteArray data = serial->readAll();
     bool ok;
     QByteArray cata= QByteArray::number(data.toDouble(&ok)/2);

    console->putData(cata);
 }
4

1 に答える 1