Bagaimana cara memformat angka dengan nol di depan dengan benar di PHP?

0
(0)

Angka pada dasarnya adalah urutan angka yang ditumpuk bersama untuk membentuk bilangan bulat atau string. Sebuah angka dapat dimulai dengan angka nol di depan. Sebuah nomor juga dapat dilingkari dan modifikasi dapat dilakukan untuk menambahkan atau menggabungkan urutan karakter lain ke dalamnya.

Pendekatan 1: Menggunakan loop for untuk penggabungan string

Untuk loop dapat diulang di mana no. dari iterasi setara dengan jumlah nol untuk memimpin nomor dengan. Selama setiap iterasi, nol ditambahkan ke bagian depan string. Kompleksitas waktu linier dalam hal jumlah nol dan diasumsikan konstan untuk semua tujuan praktis.

PHP

<?php

    #declaring the number of zeros to lead the number

    $no_of_zeros = 4;

    #declaring the number

    $number = 999;

    print ("Original number : ");

    print ($number."n"."<br>");

    #leading the number with indicated zeros

    for($i=1;$i<=$no_of_zeros;$i++)

    {

      #concatenating 0 string in front of number

      $number = '0'.$number;

    }

    print ("Modified number : ");

    print ($number);

?>

Keluaran

Original number : 999
Modified number : 0000999

Pendekatan 2: Konversi bilangan bulat ke string

Variabel string dapat digunakan sebagai pengganti untuk menyimpan angka. Panjang nomor tidak harus ditentukan secara eksplisit. PHP secara otomatis memaksa jenis nomor yang disimpan. Juga, perubahan eksplisit tipe data dapat dilakukan dengan memasukkan tipe ke dalam format yang diperlukan.

Namun, tipe data numerik memiliki batasan untuk menyimpan angka tanpa nol di depan, oleh karena itu, semua nol dihapus segera setelah casting selesai. Cuplikan kode di bawah ini mengilustrasikan prosedur ini.

PHP

<?php

  #declaring a number using a string with leading zeros

  $num = "00000092939292";

 

  #printing the number

  echo "Original Number n";

  echo $num."n"."<br>";

  echo "explicit casting.n";

 

  #explicit casting

  echo (int)$num;

?>

Keluaran

Original Number 
00000092939292
explicit casting.
92939292

Pendekatan 3: Menggunakan str_pad() metode

Metode ini akan menambahkan string ke panjang baru dari karakter yang ditentukan. Dalam hal ini, nomor dideklarasikan menggunakan variabel string. Jika panjang yang ditentukan kurang dari atau sama dengan panjang asli string, tidak ada modifikasi yang dilakukan pada string asli. Itu str_pad() metode adalah alternatif lain untuk melakukan rangkaian string berulang.

Dalam pendekatan ini, kita akan menggunakan padding kiri untuk melapisi string dari sisi kiri. Itu pad_type akan menjadi STR_PAD_LEFT dan pad_string akan setara dengan “0”. Panjangnya setara dengan panjang string asli yang ditambahkan ke jumlah nol yang kita inginkan untuk memimpin nomor tersebut.

PHP

<?php 

#specify the new length of the string

$len = 8;

 

#declare number using a string

$str = "2222";

echo("Original String t");

echo ($str."n");

 

#compute new string

$new_str = str_pad($str,$len,"0", STR_PAD_LEFT);

echo("Modified String t");

echo $new_str;

?>

Keluaran

Original String     2222
Modified String     00002222

Pendekatan 4: Menggunakan penentu format printf()/sprintf()

Itu printf() dan lari cepat() fungsi keduanya menghasilkan string yang diformat. Format ditentukan untuk menampilkan nomor berdasarkan karakter utama dan panjang total string. Penting untuk menunjukkan jenis angka, yaitu, apakah itu desimal, heksadesimal atau oktal, atau sebagainya. Ini digunakan untuk memodifikasi nomor sedemikian rupa untuk mencerminkan pola yang tepat dari nomor tersebut. Setidaknya salah satu argumen adalah wajib saat memanggil fungsi ini.

Sintaksis:

printf(format,arg1,arg2)

Parameter:

  • format (Diperlukan ): String yang memformat variabel.
  • arg1: Nilai yang akan dimasukkan pada tanda % pertama
  • arg2 (Opsional): Nilai yang akan dimasukkan pada tanda % kedua

PHP

<?php

  #declaring the number

  $num = 86857658;

  print("Original Number : ");

  print($num."n"."<br>");

 

  #specifying the number of zeros

  $num_of_zeros = 10;

 

  #defining the total length of the number of 

  #zeros and length of the number

  $length = $num_of_zeros + strlen($num) ;

 

  #defining the character to lead the number with

  $ch = 0;

 

  #specifying the type of number

  $num_type = 'd';

 

  #specifying the format 

  $format_specifier = "%{$ch}{$length}{$num_type}"

 

  # print and echo

  print("Modifed Number : ");

  printf($format_specifier, $num);

 

?>

Keluaran

Original Number : 86857658
Modifed Number : 000000000086857658

How useful was this post?

Click on a star to rate it!

Average rating 0 / 5. Vote count: 0

No votes so far! Be the first to rate this post.