Merubah atau konversi format angka ke format mata uang pada arduino bisa dilakukan berbagai cara, banyak sekali yang mencari tutorial bagaimana cara mengkonversi angka ke mata uang di arduino.
jika dalam bahasa inggris mungkin temanya seperti ini, how to convert numeric to currency format, atau bisa juga orang mencari dengan keyword menambahkan separator pada bilangan atau angka di arduino
Setelah mencari dari berbagai sumber seperti stack overflow dan website lainya, akhirnya saya bisa mengkonversi angka dari tipe data integer, long double atau apapun tipe nya ke dalam format mata uang dimana mata uang kita (indonesia) adalah rupiah yang setiap 3 digit angka harus ditambah titik (.)
Mungkin di negara luar separator yang digunakan pada mata uang adalah koma, dan hal ini juga sama bisanya menggunakan tutorial pada artikel ini.
Berikut adalah berbagai langkah untuk membuat program konversi angka ke format mata uang.
Berikut adalah fungsi yang berfungsi sebagai reverse atau membalikan data String.
Input : hallo kamu
Output : umak ollah
void reverse(char *x, int begin, int end) { char c; if (begin >= end) return; c = *(x + begin); *(x + begin) = *(x + end); *(x + end) = c; reverse(x, ++begin, --end); }
Program diatas menggunakan fungsi rekursiv, atau biasa dimengerti fungsi yang memanggil dirinya sendiri, jika dibayangkan fungsi ini mirip dengan perulangan.
Berikut ini merupakan fungsi utama yang mengkonversi angka numerik ke format mata uang dengan menambahkan separator di setiap 3 digit angka.
String rupiah(long a) { String ans; String n = String(a); int count = 0; for (int i = n.length() - 1; i >= 0; i--) { ans += n[i]; count++; if (count == 3) { ans += ('.'); count = 0; } } if (ans.length() % 4 == 0) { ans.remove(ans.length()-1, 1); } ans.toCharArray(buff, 12); reverse (buff, 0, ans.length() - 1); return String(buff); }
dan dibawah ini saya buatkan program untuk input angka dari serial monitor, sehingga nanti angka yang di input dapat diproses untuk di konversi ke format mata uang
String b; while (Serial.available()){ delay(10); char a = Serial.read(); b += a; } if (b.length() > 0){ long a = b.toDouble(); Serial.print(a); Serial.print("\t"); Serial.println(rupiah(a)); }
Berikut saya sertakan program keseluruhan yang sudah bekerja dari mulai input data, proses konversi angka ke mata uang kemudian di tampilkan ke serial monitor.
char buff[12]; void reverse(char *x, int begin, int end) { char c; if (begin >= end) return; c = *(x + begin); *(x + begin) = *(x + end); *(x + end) = c; reverse(x, ++begin, --end); } String rupiah(long a) { String ans; String n = String(a); int count = 0; for (int i = n.length() - 1; i >= 0; i--) { ans += n[i]; count++; if (count == 3) { ans += ('.'); count = 0; } } if (ans.length() % 4 == 0) { ans.remove(ans.length()-1, 1); } ans.toCharArray(buff, 12); reverse (buff, 0, ans.length() - 1); return String(buff); } void setup() { // put your setup code here, to run once: Serial.begin(9600); } void loop() { // put your main code here, to run repeatedly: String b; while (Serial.available()){ delay(10); char a = Serial.read(); b += a; } if (b.length() > 0){ long a = b.toDouble(); Serial.print(a); Serial.print("\t"); Serial.println(rupiah(a)); } }
Terimakasih sudah berkunjung, dan jangan lupa untuk berkomentar.
Pendahuluan Dalam dunia pengembangan perangkat lunak yang terus berkembang, Kubernetes telah muncul sebagai alat kunci dalam orkestrasi…
Mengelola sebuah sekolah atau lembaga pendidikan adalah tugas yang kompleks dan penuh tantangan. Dengan berbagai…
Selamat datang di artikel kami tentang cara menginstal OpenVPN server di Ubuntu 20.04 di HuaweiCloud!…
Dalam dunia pengembangan aplikasi, salah satu hal yang menjadi penting adalah mengelola dan memonitor kontainer…
Tutorial led blinking. LED (Light Emitting Diode) merupakan salah satu komponen elektronik yang paling umum…
Tutorial LCD Display, ini merupakan salah satu komponen yang sering digunakan dalam project elektronika sebagai…
View Comments
Ijin tanya master
Jika ingin ditampilkan di modul panel p10 gimana caranya?
Mungkin berkenan membuatkan artikelnya master
Terima kasih