From 2218f528d531f59b9330899e34f4be588668622e Mon Sep 17 00:00:00 2001 From: Dries Buytaert Date: Thu, 12 Nov 2009 21:03:36 +0000 Subject: - Patch #631048 by yched: number rounding should not be done by widgets. --- modules/field/field.api.php | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'modules/field/field.api.php') diff --git a/modules/field/field.api.php b/modules/field/field.api.php index ac85ebf67..ba2ca1d13 100644 --- a/modules/field/field.api.php +++ b/modules/field/field.api.php @@ -397,6 +397,15 @@ function hook_field_validate($obj_type, $object, $field, $instance, $langcode, & * $object->{$field['field_name']}[$langcode], or an empty array if unset. */ function hook_field_presave($obj_type, $object, $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']); + } + } + } } /** -- cgit v1.2.3