我正在做一个如何计算yii2总计的项目。当我正在构建项目时,当我将数据输入为格式百分比时,我发现了问题。当我保存数据时,索引看起来是2,300%,即使它是23%。我能做什么? 在我看来,格式如此'格式'=> ['百分比',],
enter image description here 这是我的代码
<?php
use yii\helpers\Html;
use kartik\grid\GridView;
/* @var $this yii\web\View */
/* @var $searchModel backend\models\LaporanSearch */
/* @var $dataProvider yii\data\ActiveDataProvider */
$this->title = 'Laporans';
$this->params['breadcrumbs'][] = $this->title;
?>
<div class="laporan-index">
<h1><?= Html::encode($this->title) ?></h1>
<?php // echo $this->render('_search', ['model' => $searchModel]); ?>
<p>
<?= Html::a('Create Laporan', ['create'], ['class' => 'btn btn-success']) ?>
</p>
<?= GridView::widget([
'dataProvider' => $dataProvider,
'filterModel' => $searchModel,
'showPageSummary'=>true,
'columns' => [
['class' => 'kartik\grid\SerialColumn'],
// 'id',
// 'inv_no',
// 'inv_date',
//'rate',
[
'attribute'=>'kode_customer',
// 'width'=>'150px',
//'hAlign'=>'right',
// 'format'=>['decimal', 0],
],
// 'kode_item',
// 'qty',
// 'price',
// 'ed',
['attribute'=>'total_price',
'pageSummary'=>true
],
// 'dsc',
['attribute'=>'total_dsc',
'pageSummary'=>true
], // 'trans',
['attribute'=>'total_trans',
'pageSummary'=>true
],
['attribute'=>'total_margin_rp',
'pageSummary'=>true
],
['attribute'=>'total_margin_persen',
'pageSummary'=>true,
// 'groupSeparator' => '.',
'format'=>['percent',],
], // 'kode_area',
['class' => 'kartik\grid\ActionColumn'],
],
]); ?>
</div>
答案 0 :(得分:0)
您遇到的问题可能是由于您已将实际百分比值存储在数据库中。例如,您的23%实际上是数据库表中的数字23。
如果你在这里查看Yii2中格式化百分比的文档(http://www.yiiframework.com/doc-2.0/yii-i18n-formatter.html#asPercent()-detail),你会看到它说:
要格式化的值。它必须是一个因素,例如结果将是0.75 在75%。
因此,为了使您的数据正确显示,您必须提供数据作为因素,使用不同的格式化程序或编写自己的格式化函数。