You are here

protected function Base::numberFormat in Double Field 8.3

Same name and namespace in other branches
  1. 4.x src/Plugin/Field/FieldFormatter/Base.php \Drupal\double_field\Plugin\Field\FieldFormatter\Base::numberFormat()
2 calls to Base::numberFormat()
Base::prepareItems in src/Plugin/Field/FieldFormatter/Base.php
Prepare field items.
Base::settingsSummary in src/Plugin/Field/FieldFormatter/Base.php
Returns a short summary for the current formatter settings.

File

src/Plugin/Field/FieldFormatter/Base.php, line 353

Class

Base
Base class for Double field formatters.

Namespace

Drupal\double_field\Plugin\Field\FieldFormatter

Code

protected function numberFormat($subfield, $number) {
  $settings = $this
    ->getSetting($subfield);
  if ($this
    ->getFieldSetting('storage')[$subfield]['type'] == 'integer') {
    $settings['scale'] = 0;
  }

  // BC Layer. The settings below may not be set if site was updated from
  // version below 3.3.
  // @todo Remove this in 4.0.
  $default_settings = self::defaultSettings()[$subfield];
  $settings['scale'] = $settings['scale'] ?? $default_settings['scale'];
  $settings['decimal_separator'] = $settings['decimal_separator'] ?? $default_settings['decimal_separator'];
  $settings['thousand_separator'] = $settings['thousand_separator'] ?? $default_settings['thousand_separator'];
  return number_format($number, $settings['scale'], $settings['decimal_separator'], $settings['thousand_separator']);
}