FALSE); $options['precision'] = array('default' => 0); $options['decimal'] = array('default' => '.', 'translatable' => TRUE); $options['separator'] = array('default' => ',', 'translatable' => TRUE); $options['prefix'] = array('default' => '', 'translatable' => TRUE); $options['suffix'] = array('default' => '', 'translatable' => TRUE); return $options; } function options_form(&$form, &$form_state) { parent::options_form($form, $form_state); if (!empty($this->definition['float'])) { $form['set_precision'] = array( '#type' => 'checkbox', '#title' => t('Round'), '#description' => t('If checked, the number will be rounded.'), '#default_value' => $this->options['set_precision'], ); $form['precision'] = array( '#type' => 'textfield', '#title' => t('Precision'), '#default_value' => $this->options['precision'], '#description' => t('Specify how many digits to print after the decimal point.'), '#process' => array('views_process_dependency'), '#dependency' => array('edit-options-set-precision' => array(TRUE)), '#size' => 2, ); $form['decimal'] = array( '#type' => 'textfield', '#title' => t('Decimal point'), '#default_value' => $this->options['decimal'], '#description' => t('What single character to use as a decimal point.'), '#size' => 2, ); } $form['separator'] = array( '#type' => 'textfield', '#title' => t('Thousands separator'), '#default_value' => $this->options['separator'], '#description' => t('What single character to use as the thousands separator.'), '#size' => 2, ); $form['prefix'] = array( '#type' => 'textfield', '#title' => t('Prefix'), '#default_value' => $this->options['prefix'], '#description' => t('Text to put before the number, such as currency symbol.'), ); $form['suffix'] = array( '#type' => 'textfield', '#title' => t('Suffix'), '#default_value' => $this->options['suffix'], '#description' => t('Text to put after the number, such as currency symbol.'), ); } function render($values) { $value = $values->{$this->field_alias}; if (!empty($this->options['set_precision'])) { $value = number_format($value, $this->options['precision'], $this->options['decimal'], $this->options['separator']); } else { $remainder = abs($value) - intval(abs($value)); $value = number_format($value, 0, '', $this->options['separator']); if ($remainder) { // The substr may not be locale safe. $value .= $this->options['decimal'] . substr($remainder, 2); } } return check_plain($this->options['prefix'] . $value . $this->options['suffix']); } }