Implements hook_field_presave().

File

modules/field/modules/number/number.module, line 157
Defines numeric field types.

Code

function number_field_presave($entity_type, $entity, $field, $instance, $langcode, &$items) {
  if ($field['type'] == 'number_decimal') {

    // Let PHP round the value to ensure consistent behavior across storage
    // backends.
    foreach ($items as $delta => $item) {
      if (isset($item['value'])) {
        $items[$delta]['value'] = round($item['value'], $field['settings']['scale']);
      }
    }
  }
  if ($field['type'] == 'number_float') {

    // Remove the decimal point from float values with decimal
    // point but no decimal numbers.
    foreach ($items as $delta => $item) {
      if (isset($item['value'])) {
        $items[$delta]['value'] = floatval($item['value']);
      }
    }
  }
}