private function normalize( $number = null )
	{
		if ( is_null( $number ) ) $number =& $this->_value;

		// Handle the case of -0
		if ( $this->_value == "-0" ) $this->_value = "0";

		if ( strpos( $this->_value, '.' ) === false ) return;

		$number = trim( $number );
		$number = rtrim( $number, '0');
		$number = rtrim( $number, '.');
		if ( $number == "" || $number == "-" ) $number .= "0";

		// The leading zero may be missing
		if ( substr( $number, 0, 1 ) == "." ) $number = "0" . $number;
		if ( substr( $number, 0, 2 ) == "-." ) $number = str_replace( "-.", "-0.", $number );
		if ( substr( $number, 0, 2 ) == "+." ) $number = str_replace( "+.", "0.", $number );

		return $number;
	}