Home » PHP » Menggunakan Number Format PHP

Menggunakan Number Format PHP

Published by Ade Kurniawan on

number format php

Number format digunakan untuk menampilkan angka dalam bentuk ribuan di php. Bentuk ribuan ini lebih user friendly tampilannya dibandingkan format angka yang disediakan MySQL. Sebagai contoh angka uang Rp. 25.000.000 lebih mudah dibaca daripada Rp. 25000000.

Keadaan ini memerlukan kita untuk merubah format angka saat ditampilkan dengan php dan saat diinputkan ke database MySQL. Untuk menampilkan data dalam bentuk format rupiah kita memerlukan number_format(). Sedangkan untuk menginputkan data diperlukan pembuatan function yang dapat berfungsi sebaliknya.

Bentuk Penulisan Number Format

number_format(number,decimals,decimal_separator,thousands_separator)

Keterangan

  • number adalah angka yang akan diberi format number.
  • decimals adalah jumlah pecahan di akhir number Nilai default = 0
  • decimal_separator adalah tanda pemisah pecahan akhir. Nilai default = “.”
  • thousands_separator adalah tanda pemisah format ribuan. Nilai Default = “,”

Contoh Number Format PHP

Format number 1

<?php
    $number = "25000000";
    $format1 = number_format($number,2,".",",");
    echo $format1;
?>

Contoh di atas menggunakan decimal terakhir 2 digit . Separator decimal “.” dan separator ribuan “,”.

Output

Number Format decimal 2
Number Format decimal 2

Penggunaan format_number() dengan bentuk Decimal dan separator menghasilkan output 25,000,000.00. format ini sesuai dengan currency usd (dolar Amerika).

Format Number 2

<?php
    $number = "25000000";
    $format2 = number_format($number);
    echo $format2;        
?>

Output

Format Number Rupiah decimal 2
Number format tanpa Decimal

Dengan menuliskan number format seperti script di atas kita telah membuat number format tanpa menampilkan decimal.

Format Number 3

<?php
    $number = "25000000";
    $format3 = number_format($number,2,",",".");
    echo $format3;
?>

Output

Format Number Rupiah

Format number 3 ini merupakan bentuk penggunaan format number untuk menampilkan number dalam bentuk rupiah. Decimal yang digunakan adalah “2”. separator decimal “,” dan Separator ribuan “.”.

Format number 4

Jika ingin menampilkan format number dalam bentuk rupiah dengan menghilangkan decimalnya maka dapat menggunakan script di bawah ini:

<?php
    $number = "25000000";
    $format4 = number_format($number,0,",",".");
    echo $format4;
?>

Output

Format Number Rupiah tanpa decimal
Format Number Rupiah Tanpa Decimal

Itulah beberapa contoh penggunaan format number di php. Hal-hal yang dapat dilakukan saat menggunakan format_number() yaitu:

  • Membuat format mata uang seperti usd atau rupiah dan lainnya.
  • Membuat 2 digit atau lebih decimal di akhir number.
  • Menampilkan separator ribuan dengan titik ataupun koma.
  • Menampilkan separator pecahan/decimal dengan titik ataupun koma.

Mengubah Format Ribuan ke Format Numerik MySQL

Format data numerik MySQL berbentuk 10000 untuk integer dan 10000,00 untuk decimal(9,2). Sehingga sebuah format input yang berbentuk ribuan “10.000” perlu di reverse lagi menjadi 10000 sebelum di input ke database.

Untuk mengubah format number 10.000 menjadi 10000 dapat digunakan fungsi php berikut

1. Menggunakan str_replace

contoh 1

<?php
   $number = "10.000";
   $jumlah = str_replace(".","",$number);
   echo $jumlah;
?>

Output

Reverse Format Number 10.000 ke 10000

Contoh di atas adalah script untuk mengubah format “10.000 menjadi 10000 menggunakan str_replace();

Contoh 2

<?php
 $number = "10.000,00";
    $num = ['.', ','];
    $num_rep = ['', '.'];
    $jumlah = str_replace($num,$num_rep,$number);
    echo $jumlah;
?>

output

Reverse decimal number format
Reverse dengan Decimal

Contoh penggunaan str replace yang kedua ini telah mengubah number “10.000,00” menjadi 10000.00. Format ini sesuai dengan format penyimpanan data dalam bentuk tipe data decimal di database.

2. Menggunakan filter_var()

Reverse format number juga bisa dilakukan dengan menggunakan fungsi filter_var.

<?php 
  $format = '10.000,00';
  $number = filter_var($format, FILTER_SANITIZE_NUMBER_FLOAT, FILTER_FLAG_ALLOW_THOUSAND);
  echo $number;  
?>

Output

reverse number format dengan filter_var
Reverse Number Format dengan filter_var

0 Comments

Leave a Reply

Avatar placeholder

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