func (n Number) FmtNumber(number float64) string {
	return n.formatNumber(n.parseFormat(n.Formats.Decimal, true), number)
}
FormatNumber takes a float number and returns a properly formatted string
representation of that number according to the locale's number format.
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]+(.*)`)
)
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
}
func (n Number) FmtCurrencyWhole(currency string, number float64) (formatted string, err error) {
	format := n.parseFormat(n.Formats.Currency, false)
	result := n.formatNumber(format, number)
	formatted = strings.Replace(result, "¤", n.findCurrency(currency).Symbol, -1)
	return
}