format

package
v0.0.0-...-2824937 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 2, 2020 License: MIT, BSD-3-Clause Imports: 4 Imported by: 0

Documentation

Overview

Package format contains types for defining language-specific formatting of values.

This package is internal now, but will eventually be exposed after the API settles.

Index

Constants

View Source
const (
	AlwaysSign NumberFormatFlag = 1 << iota
	AlwaysExpSign
	AlwaysDecimalSeparator
	ParenthesisForNegative // Common pattern. Saves space.

	PadAfterNumber
	PadAfterAffix

	PadBeforePrefix = 0 // Default
	PadAfterPrefix  = PadAfterAffix
	PadBeforeSuffix = PadAfterNumber
	PadAfterSuffix  = PadAfterNumber | PadAfterAffix
	PadMask         = PadAfterNumber | PadAfterAffix
)

Variables

This section is empty.

Functions

This section is empty.

Types

type Formatter

type Formatter interface {
	Format(state State, verb rune)
}

Formatter is analogous to fmt.Formatter.

type NumberFormat

type NumberFormat struct {
	Affix     string // includes prefix and suffix. First byte is prefix length.
	Offset    uint16 // Offset into Affix for prefix and suffix
	NegOffset uint16 // Offset into Affix for negative prefix and suffix or 0.

	Multiplier     uint32
	RoundIncrement uint32 // Use Min*Digits to determine scale
	PadRune        rune

	FormatWidth uint16

	GroupingSize [2]uint8
	Flags        NumberFormatFlag

	// Number of digits.
	MinIntegerDigits     uint8
	MaxIntegerDigits     uint8
	MinFractionDigits    uint8
	MaxFractionDigits    uint8
	MinSignificantDigits uint8
	MaxSignificantDigits uint8
	MinExponentDigits    uint8
}

NumberFormat holds information for formatting numbers. It is designed to hold information from CLDR number patterns.

This pattern is precompiled for all patterns for all languages. Even though the number of patterns is not very large, we want to keep this small.

This type is only intended for internal use.

func ParseNumberPattern

func ParseNumberPattern(s string) (f *NumberFormat, err error)

ParseNumberPattern extracts formatting information from a CLDR number pattern.

See http://unicode.org/reports/tr35/tr35-numbers.html#Number_Format_Patterns.

type NumberFormatFlag

type NumberFormatFlag uint8

A NumberFormatFlag is a bit mask for the flag field of a NumberFormat.

type State

type State interface {
	fmt.State

	// Language reports the requested language in which to render a message.
	Language() language.Tag
}

State represents the printer state passed to custom formatters. It provides access to the fmt.State interface and the sentence and language-related context.

Directories

Path Synopsis
Package plural defines the grammatical plural feature.
Package plural defines the grammatical plural feature.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL