func (n Number) FmtCurrency(currency string, number float64) (formatted string, err error) {
	format := n.parseFormat(n.Formats.Currency, true)
	result := n.formatNumber(format, number)
	formatted = strings.Replace(result, "¤", n.findCurrency(currency).Symbol, -1)
	return
}
FormatCurrency takes a float number and a currency key and returns a string
with a properly formatted currency amount with the correct currency symbol.
If a symbol cannot be found for the reqested currency, the the key is used
instead. If the currency key requested is not recognized, it is used as the
symbol, and an error is returned with the formatted string.
package cldr
import (
	"fmt"
	"math"
	"regexp"
	"strconv"
	"strings"
)
type numberFormat struct {
	positivePrefix   string
	positiveSuffix   string
	negativePrefix   string
	negativeSuffix   string
	multiplier       int
	minDecimalDigits int
	maxDecimalDigits int
	minIntegerDigits int
	groupSizeFinal   int  
	groupSizeMain    int  
}
var (
	prefixSuffixRegex = regexp.MustCompile(`(.*?)[#,\.0]+(.*)`)
)