Как преобразовать данные в двойные с более чем одним символом?[Быстрое] - PullRequest
0 голосов
/ 10 июня 2019

Я пытаюсь преобразовать данные с моего устройства Arduino Bluetooth в Double. Поэтому я пишу эту функцию:

 func convert(from characteristic: CBCharacteristic) -> Double {

    guard let arduinoData = characteristic.value else { return -1 }
    let byteArray = [UInt8](arduinoData)

//  print(characteristicData as NSData)

    return Double(byteArray[0])
}

Я получаю персонажа ascii из моего arduino. Так что этот код работает для чисел от 0 до 9. Но я хочу получить значение, как 300.207

Хотелось бы узнать, можно ли было прочитать 7 октетов подряд, чтобы поместить их в один дубль?

Я пытаюсь с помощью приведенного ниже кода прочитать первый октет и второй, но у меня есть эта ошибка: Поток 1: Неустранимая ошибка: Индекс вне диапазона

func convert(from characteristic: CBCharacteristic) -> Double {
        guard let arduinoData = characteristic.value else { return -1 }
        let byteArray = [UInt8](arduinoData)

        return Double(byteArray[0]) + Double(byteArray[1])
    }

Спасибо (я новичок)

...