| Julia Version | Unit Tests | Coverage |
|---|---|---|
| Julia Latest |
The following extra format sequences (see StrLiterals for the full specification) are added:
-
\%<ccc><formatcode>(arguments)is interpolated as a call tocfmt("%<ccc><formatcode>",arguments), where<ccc><formatcode>is a C-style format string. -
and is [flags][width][.precision][length]
-
supported flags are:
,-,+,0,#, and'(add comma thousand separators) -
formatcode :=
d|D|u|U|o|O|x|X|e|E|f|F|g|G|a|A|c|C|s|S|i|p|n -
length is ignored (it was only needed for C/C++ since argument values don't have types)
-
\%(value, arguments...)is interpolated as a call tofmt(value, arguments...). This is especially useful when defaults have been set for the type of the first argument. -
fmt_default!{T}(::Type{T}, syms::Symbol...; kwargs...)sets the defaults for a particular type. -
fmt_default!(syms::Symbol...; kwargs...)sets the defaults for all types. -
reset!{T}(::Type{T})resets the defaults for a particular type. -
defaultSpec(x)will return the defaults for the type of x, and -
defaultSpec{T}(::Type{T})will return the defaults for the given type.
Symbols that can currently be used are: :ljust or :left, :rjust or :right, :center, :commas, :zpad or :zeropad, and :ipre or :prefix.
Several keyword arguments can also be used:
| Keyword | Type | Meaning | Default |
|---|---|---|---|
| fill | Char | Fill character | ' ' |
| align | Char | Alignment character | '\0' |
| sign | Char | Sign character | '-' |
| width | Int | Field width | -1, i.e. ignored |
| prec | Int | Floating Precision | -1, i.e. ignored |
| ipre | Bool | Use 0b, 0o, or 0x prefix? | false |
| zpad | Bool | Pad with 0s on left | false |
| tsep | Bool | Use thousands separator? | false |
(supports most all options except for '%' currently)
- spec ::= [[fill]align][sign][#][0][width][,_][.prec][type]
- fill ::=
- align ::= '<' | '^' | '>'
- sign ::= '+' | '-' | ' '
- width ::=
- prec ::=
- type ::= 'b' | 'c' | 'd' | 'e' | 'E' | 'f' | 'F' | 'g' | 'G' | 'n' | 'o' | 'x' | 'X' | 's'
Please refer to http://docs.python.org/2/library/string.html#formatspec for more details
The syntax is slightly different, \{<formatspec>}(expression), instead of {variable:formatspec}, so as to fit better with Julia's string syntax.