Tutorial Arduino Konversi Angka Ke Format Mata Uang

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 (.)

Kunjungi  Tutorial Arduino Mengakses Multiple LCD 16x2 I2C

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.

Tutorial Arduino Konversi Angka Ke Format Mata Uang

Membuat fungsi reverse pada String untuk pemograman Arduino

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.

Membuat Fungsi Konversi Angka ke String Kemudian Tambahkan Separator di Setiap 3 Digit

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);
}

Membuat Input angka Dari Serial Monitor

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));
  }

Program Lengkap Arduino Konversi Angka ke Format Mata Uang dengan Separator

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.

Kunjungi  ESP8266, NodeMcu RFID Kirim Data ke Database, XAMPP

Keyword

  1. how to convert int to string then add Separator,
  2. convert numeric to currency arduino,
  3. konversi angka ke mata uang arduino,
  4. tutorial arduino keypad angka,
  5. angka keypad uang arduino,

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *