Я использую Laravel 5.7.19.
В моем контроллере TableController.php
я запрашиваю данные из моей базы данных и передаю их на просмотр:
public function index()
{
$c = DB::table('tick_data')
->select('*')
->join('basis', 'basis.Id', '=', 'tick_data.b_id')
->whereRaw('tick_data.id IN( SELECT MAX(tick_data.id) FROM tick_data GROUP BY tick_data.exchange_timestamp)')
->get();
return view('datatable')->with('coins', $c);
}
В моем файле table.blade.php
я выкладываю данные:
@foreach ($coins as $key=>$c)
<tr>
<td>{{ ++$key }}</td>
<td>{{ $c->pair }}</td>
<td>{{ number_format($c->last_price, 8) }}</td>
<td>{{ number_format($c->price_change_percentage, 8) }}</td>
<td>{{ number_format($c->price_change, 8) }}</td>
<td>{{ number_format($c->high_price, 8) }}</td>
<td>{{ number_format($c->low_price, 8) }}</td>
<td>{{ $c->base_volume }}</td>
<td>{{ $c->name }}</td>
</tr>
@endforeach
Как видите, я в основном использую функцию number_format()
для форматирования своих значений.
Однако, base_volume
имеет вид 467703.0000000000
или 10831.13202978000
, и я хотел бы изменить его на короткий с помощью K,M,B
.
Есть ли какая-нибудь функция в лезвии, которая может сделать это? Какой хороший способ предварительно отформатировать числа?
Ценю ваши ответы!