Разделитель тысяч в формах

Я пытаюсь добавить разделители тысяч к своим входным данным, как мне это сделать? Я пробовал использовать Laravel\Nova\Fields\Currency в своем fields() методе, но это не помогает. Он по-прежнему показывает значение во входных данных, например:

100000

И я хочу показать это так:

100,000

Как я могу добиться этого в Laravel Nova?

public function fields(Request $request)
{
    $fields = [];

    ...
    $fields[] = Currency::make(__('Price'), 'price');

    return $fields;
}

person SakuragiRokurota    schedule 19.08.2019    source источник
comment
где вы хотите показать разделитель?   -  person Giacomo M    schedule 19.08.2019
comment
Во входных данных в моей форме, чтобы отобразить его пользователю в понятном формате, когда он будет вводить цену, а затем сохранить значение без этих разделителей.   -  person SakuragiRokurota    schedule 19.08.2019
comment
Возможный дубликат Как напечатать число с запятыми в качестве разделителей тысяч в JavaScript   -  person nice_dev    schedule 19.08.2019
comment
если вы хотите сделать то, что не можете сделать с PHP, вам нужен язык на стороне клиента, такой как javascript   -  person Giacomo M    schedule 19.08.2019
comment
Я знаю, что это проблема внешнего интерфейса, однако я подумал, что существует какой-то пакет или решение, предназначенное для Laravel Nova. Потому что в Laravel Nova не так просто добавить собственный код javascript в ваш проект, и я не хочу усложнять его, чем сейчас.   -  person SakuragiRokurota    schedule 19.08.2019
comment
@SakuragiRokurota Какая у вас версия Nova?   -  person Saumini Navaratnam    schedule 20.08.2019


Ответы (2)


используйте number_format() doc или money_format() doc (не будет работать в Windows), которые были доступны в php.

person Sravanth Pujari    schedule 19.08.2019
comment
Мне нужно решение для Laravel Nova, я пытался сделать это с помощью money_format (), но это не сработало. Возможно, существует решение или пакет для nova, которые могут быть полезны. Или у кого-то возникла аналогичная проблема, потому что в nova не так просто добавить какой-нибудь код javascript, который бы работал. - person SakuragiRokurota; 19.08.2019
comment
@SakuragiRokurota В money_format() документе говорится, что он не будет работать в Windows. Итак, если вы использовали Windows, попробуйте использовать number_format(). Не знаю, как Нова. Но, как правило, если он поддерживает на таком языке, как php, он также должен поддерживаться в фреймворках, построенных на нем. - person Sravanth Pujari; 19.08.2019

Вы можете использовать этот пакет, я как раз собирался его написать недавно: https://novapackages.com/packages/lathanhvien/nova-text-currency

person protoproto    schedule 22.08.2019