Format angka bervariasi di berbagai negara. Untuk memudahkan dalam input data maka kita perlu menyesuaikan cara input data sesuai dengan format untuk angka dan harga yang biasa dipakai di negara itu.
Begitu juga kita akan memformat angka atau harga seuai kebiasaan orang Indonesia. Untuk itu kita perlu membuat fungsi untuk format ke tampilan Indonesia kemudian juga mengembalikan ke tampilan internasional.
Untuk itu kita tambahkan pada kelas Umum dua fungsi sebagai berikut
- Format ke tampilan harga atau angka Indonesia
public function formatHargaInd($harga)
{
$harga_d=number_format($harga,0,”,”,”.”);
return $harga_d;
} - Fungsi untuk mengembalikan ke harga atau angka yang disetujui secara internasional
public function formatHargaInt($harga)
{
$harga_d=$harga;
$harga_d = str_replace(“.”,””,$harga_d);
$harga_d = str_replace(“,”,”.”,$harga_d);
return $harga_d;
}
Pada controller yang bersangkutan:
- Pada bagian view _form berikat keterangan misalnya:
<div class=”row”>
<?php echo $form->labelEx($model,’price’); ?>
<?php echo $form->textField($model,’price’,array(‘size’=>15,’maxlength’=>15)); ?>Ex: 1.000.000
<?php echo $form->error($model,’price’); ?>
</div> - Pada controller untuk action create
Kembalikan ke format internasional setelah data diinput:
if(isset($_POST[‘PurchaseItem’]))
{
$model->attributes=$_POST[‘PurchaseItem’];
$model->price=Umum::formatHargaInt($model->price); - Pada controller untuk action update
Tampilkan ke format Indonesia sebelum ditampilkan, kembalikan ke format internasional setelah data diinput:
$model->price=Umum::formatHargaInd($model->price);
if(isset($_POST[‘PurchaseItem’]))
{
$model->attributes=$_POST[‘PurchaseItem’];
$model->price=Umum::formatHargaInt($model->price);
Dengan cara ini maka petugas input data akan cepat dalam menginput datanya.
Kunjungi www.proweb.co.id untuk menambah wawasan anda.
Format angka saat input data di Yii