Разделене поля число на группы

ЕСТЬ РЕШЕНИЕ ЗАКРЫТО InstantCMS 2.X
#1 3 января 2019 в 23:02
Есть поле число. Как его разделить на группы Сейчас выводится так: 1234567р, А хотелось бы так: 1 234 567р
Как я понимаю надо менять тут: number.php и тут
private function formatFloatValue($value) {
$value = (float)$value;
if(strpos($value, '.') !== false){
return rtrim(rtrim(number_format($value, $this->getOption('decimal_s'), '.', ($this->getOption('thousands_sep')?:'')), '0'), '.');
}
return $value;
}
Но вот как и куда добавить пробелы не пойму.
Спасибо.
#2 4 января 2019 в 00:32
private function formatFloatValue($value)
{
$thousands_sep = $this->getOption('thousands_sep')?:''; // моя вставка
$thousands_sep = str_ireplace('*',' ', $thousands_sep); // моя вставка

$value = (float)$value;
if(strpos($value, '.') !== false)
{
//return rtrim(rtrim(number_format($value, $this->getOption('decimal_s'), '.', ($this->getOption('thousands_sep')?:'')), '0'), '.');
// моя вставка
return rtrim(rtrim(number_format($value, $this->getOption('decimal_s'), '.', $thousands_sep), '0'), '.');
}
return number_format($value, $this->getOption('decimal_s'), '.', $thousands_sep ); // моя вставка
// return $value;
}

В админке там где вам нужен пробел поставьте звёздочку (*), потому что просто пробел в БД не сохранится.
#3 4 января 2019 в 00:55
Alex, Не помогло, но в свойствах целое число стало отображаться с десятичной частью после запятой Например: 23.00 штук
#4 4 января 2019 в 23:58
А что мешает использовать функцию number_format ?
Напримет:
  1. return number_format(floatval($value), 2, '.', ' ');
в предпоследней строке
#5 5 января 2019 в 01:52
@denmois, Двоечку заменить на ноль
private function formatFloatValue($value) {
$value = (float)$value;
if(strpos($value, '.') !== false){
return rtrim(rtrim(number_format($value, $this->getOption('decimal_s'), '.', ($this->getOption('thousands_sep')?:'')), '0'), '.');
}
return number_format(floatval($value),0, '.', ' ');
}
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.