Ada fungsi di perpustakaan Arduino standar yang disebut dtostrf(). Saya menganggapnya sebagai "Desimal ke String Float". Anda melewati float, seberapa lebar Anda ingin seluruh bilangan menjadi (jika sesuai), jumlah desimal presisi - dan buffer yang Anda inginkan untuk diisi.
Catat itu! Anda perlu menyediakan buffer, dan Anda harus berhati-hati untuk menyediakan lebih dari cukup! Jangan lupa untuk menambahkan 1 juga (untuk menyimpan karakter NUL di akhir):
char result[8]; // Buffer big enough for 7-character float
dtostrf(resistance, 6, 2, result); // Leave room for too large numbers!
Ini akan memberi resultnilai seperti " 1.23"dan " -1.23"dan "123456789"(tanpa tanda kutip). Perhatikan contoh terakhir - itu tidak akan memotong angkanya jika terlalu besar, dan 10 karakter itu result(jangan lupa final NUL) hanya meluap buffer Anda ...
Kebetulan, jika Anda menentukan lebar negatif, itu tidak akan membenarkan-kanan jawabannya, itu akan-membenarkan itu (menempatkan spasi di bagian akhir daripada di awal).