menghapus titik pada angka hasil input secara otomatis

Untuk tujuan mempermudah pengunjung atau user yang memasukan data di form, biasanya pada field input yang berupa angka dibuat otomatis ada pemisah titik. Fungsinya untuk mempermudah membaca angka dan supaya tidak salah memasukan jumlah. Jadi misalnya angka 900000 akan mudah dibaca jika ada tanda titiknya, seperti 900.000.

Namun apabila hasil input angka yang sudah ada titiknya ini jika langsung disimpan ke dalam database, apabila kita menjumlahnya, hasil penjumlahan tidak akan benar. Karena tanda titik di angka ini dibaca sebagai pemisah pada angka desimal. Nah, supaya hasil penjumlahan nantinya benar, maka sebelum disimpan tanda titik ini perlu dihapus atau dibuang terlebih dahulu.

Berikut ini cara termudah untuk menghilangkan titik pada hasil input form, yaitu dengan menggunakan fungsi replace

Saya mengambil contoh pada form yang sudah saya buat di posting lain di blog ini : Memberi titik otomatis pada angka di input form

form bertipe angka dengan validasi otomatis dan pemisah titik

code html/php dari form tersebut adalah seperti ini


<!DOCTYPE HTML>
<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="Content-type" content="text/html; charset=utf-8">

<title>Format ribuan</title>
<script type="text/javascript" src="my.js"></script>

</head>
<body>
<div id="angka">
<form action='eksekusi.php' method='post'>
<div id="input">
<center><h1>Format Input Angka dengan pemisah titik</h1></center>
Jumlah 1 :

<input type="text" id="inputku" name="angkaa" onkeydown="return numbersonly(this, event);" onkeyup="javascript:tandaPemisahTitik(this);"><br/>
Jumlah 2 :

<input type="text" id="inputku" name="angkab" onkeydown="return numbersonly(this, event);" onkeyup="javascript:tandaPemisahTitik(this);"><br/>
<button type='Submit'>Submit</button>
</form>
</div>
</div>
</body>
</html>

Pada hasil input field form saya ada dua field yang menggunakan titik, yaitu field angkaa dan field angkab. Pada saat eksekusi, kita buang dulu titik dari hasil inputnya, caranya dengan menggunakan fungsi replace. Berikut contoh code phpnya:


<?php

//menangkap data yang dipostkan di form
$angkaa= $_POST['angkaa'] ;
$angkab= $_POST['angkab'] ;

//membuang titik dengan menggunakan fungsi replace
$angka1= str_replace(".", "", $angkaa);
$angka2= str_replace(".", "", $angkab);
echo "$angka1 <br/> $angka2";

?>

Nah, setelah membuang titiknya, hasil input siap untuk disimpan. Anda tinggal menambahkan query simpan atau update sesuai kebutuhan aplikasi pada form anda.

Untuk contoh lengkapnya, saya akan menggunakan query simpan ke dalam database, berikut contoh code php untuk eksekusi form.


<?php
//koneksi ke database
mysql_connect("localhost", "root", "1234");
//nama database
mysql_select_db("demo");

//menangkap data yang dipostkan di form
$angkaa= $_POST['angkaa'] ;
$angkab= $_POST['angkab'] ;

//membuang titik dengan menggunakan fungsi replace
$angka1= str_replace(".", "", $angkaa);
$angka2= str_replace(".", "", $angkab);

//query insert
$query_insert = "INSERT INTO demoangka (kolom_angka1,kolom_angka2)
VALUES ('$angka1','$angka2')";

//eksekusi query insert
$insert = mysql_query($query_insert);

//konfirmasi hasil eksekusi qeury
if($insert)
{
echo "berhasil ... ";
echo "<br/>$angka1 dan $angka2 berhasil disimpan ke database";
}
else
{
echo "Gagal Disimpan ... ";
}
?>

Dari hasil test script php, script dapat bekerja dengan baik. Untuk sobat yang ingin mendownload script ini, silahkan bisa download

  1. Jika yang kita akan hapus tidak cuma titik saja gimana ia?
    Misal di data ada <asd213123
    nah saya hanya ingin mengambil angka nya saja.
    MOhon pencerahanya

    1. halo, nasrun..
      caranya sama sih, seperti menghapus titik. yaitu dengan menggunakan fungsi str_replace. coba perhatikan contoh replace titik pada script php di atas. tinggal ganti titik “.” dengan karakter yang ingin dihilangkan. jadi misal seperti ini $angka1= str_replace("asd", "", $angkaa); . Nah kalau yang dimaksud adalah mengambil angka saja dan menghilangkan karakter alfabet, maka harus dituliskan alfabetnya dari a sampai z ke dalam fungsi str_replace. contoh scriptnya menyusul ya… ditunggu saja

    2. berikut contoh scriptnya:

      $mixed='aBzZcvv*&#bn!1665';

      //membuang special character
      $remove_character=preg_replace("/[^A-Za-z0-9-]/", "", $mixed);

      //membuang alfabet
      $only_number=preg_replace("/[a-zA-Z]/", "", $remove_character);

      //tampilkan
      echo "teks asli : $mixed ";
      echo " hanya angka: $only_number";

Leave a Comment

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.