# File lib/action_view/helpers/number_helper.rb, line 106
      def number_to_currency(number, options = {})
        return nil if number.nil?

        options.symbolize_keys!

        defaults  = I18n.translate('number.format''number.format', :locale => options[:locale], :default => {})
        currency  = I18n.translate('number.currency.format''number.currency.format', :locale => options[:locale], :default => {})

        defaults  = DEFAULT_CURRENCY_VALUES.merge(defaults).merge!(currency)
        options   = defaults.merge!(options)

        unit      = options.delete(:unit)
        format    = options.delete(:format)

        begin
          value = number_with_precision(number, options.merge(:raise => true))
          format.gsub(/%n/, value).gsub(/%u/, unit).html_safe
        rescue InvalidNumberError => e
          if options[:raise]
            raise
          else
            formatted_number = format.gsub(/%n/, e.number).gsub(/%u/, unit)
            e.number.to_s.html_safe? ? formatted_number.html_safe : formatted_number
          end
        end

      end