Ciao a tutti,
Da un ricevitore bluetooth ricevo due valori (INT) comando[0] e comando[1]
vorrei metterli dentro un Float in modo che comando[0] sia sempre la parte intera e comando[1] sia il decimale.
sto facendo prove unendoli cosi:
Il modo più semplice e veloce, che funziona con tutti i valori, è quello di passare per delle stringhe di caratteri ...
... concatenando la parte intera (vista come stringa), il carattere "." e la parte decimale (sempre vista come stringa) ottenendo una stringa che somiglia a: "iiiiiii.ddddd" dopo di che convertire di nuovo la stringa ottenuta in numero float.
Io lo farei (ovviamente ) usando le stringhe classiche del 'C' e le funzioni di <string.h> ... se lo si fa usando la classe String ... ci si riesce in una riga ...
... dipende ... se la parte decimale contiene 1, vuol dire 0.1 o 0.01 ? E, in ogni caso, come rappresenta i due valori? 1 per 0.01 e 10 per 0.1?
Ma allora perché non usare un solo int con la parte decimale moltiplicata per 10? Così con i valori massimi (120 e 99) si ha un solo numero intero 12099 che diviso 100 da il corretto valore in float.
Si, così ha scritto nel post #6. Vuol dire che l'intero da 1 a 99 che rappresenta i decimali da 0.01 a 0.99 basta dividerlo per 100.
A parte l'errore nel post #1 di aver invertito l'indice dell'array tra il codice e la descrizione, il che, come dicono in altro forum, non fa che aumentare l'entropia