diff options
| author | Eli Zaretskii | 2017-01-28 10:30:17 +0200 |
|---|---|---|
| committer | Eli Zaretskii | 2017-01-28 10:30:17 +0200 |
| commit | c331f393c120208983a4c9890cfd606635ef782a (patch) | |
| tree | dfff4a2ff8ac6d96459560d79eda415f26c67259 /doc | |
| parent | 9f52f67a967819916eedfe55f4ea92f659133dc5 (diff) | |
| download | emacs-c331f393c120208983a4c9890cfd606635ef782a.tar.gz emacs-c331f393c120208983a4c9890cfd606635ef782a.zip | |
Improve documentation of 'format' conversions
* src/editfns.c (Fformat): More accurate description of %g and
effects of the various flags on it. More accurate description of
integer conversions.
* doc/lispref/strings.texi (Formatting Strings): More accurate
description of %g and effects of the various flags on it. More
accurate description of integer conversions. (Bug#25557)
Diffstat (limited to 'doc')
| -rw-r--r-- | doc/lispref/strings.texi | 32 |
1 files changed, 20 insertions, 12 deletions
diff --git a/doc/lispref/strings.texi b/doc/lispref/strings.texi index d343bcf5eff..d5980f62bd4 100644 --- a/doc/lispref/strings.texi +++ b/doc/lispref/strings.texi | |||
| @@ -893,17 +893,18 @@ Functions}). Thus, strings are enclosed in @samp{"} characters, and | |||
| 893 | @item %o | 893 | @item %o |
| 894 | @cindex integer to octal | 894 | @cindex integer to octal |
| 895 | Replace the specification with the base-eight representation of an | 895 | Replace the specification with the base-eight representation of an |
| 896 | integer. | 896 | unsigned integer. |
| 897 | 897 | ||
| 898 | @item %d | 898 | @item %d |
| 899 | Replace the specification with the base-ten representation of an | 899 | Replace the specification with the base-ten representation of a signed |
| 900 | integer. | 900 | integer. |
| 901 | 901 | ||
| 902 | @item %x | 902 | @item %x |
| 903 | @itemx %X | 903 | @itemx %X |
| 904 | @cindex integer to hexadecimal | 904 | @cindex integer to hexadecimal |
| 905 | Replace the specification with the base-sixteen representation of an | 905 | Replace the specification with the base-sixteen representation of an |
| 906 | integer. @samp{%x} uses lower case and @samp{%X} uses upper case. | 906 | unsigned integer. @samp{%x} uses lower case and @samp{%X} uses upper |
| 907 | case. | ||
| 907 | 908 | ||
| 908 | @item %c | 909 | @item %c |
| 909 | Replace the specification with the character which is the value given. | 910 | Replace the specification with the character which is the value given. |
| @@ -918,8 +919,9 @@ floating-point number. | |||
| 918 | 919 | ||
| 919 | @item %g | 920 | @item %g |
| 920 | Replace the specification with notation for a floating-point number, | 921 | Replace the specification with notation for a floating-point number, |
| 921 | using either exponential notation or decimal-point notation, whichever | 922 | using either exponential notation or decimal-point notation. The |
| 922 | is shorter. | 923 | exponential notation is used if the exponent would be less than -4 or |
| 924 | greater than or equal to the precision (default: 6). | ||
| 923 | 925 | ||
| 924 | @item %% | 926 | @item %% |
| 925 | Replace the specification with a single @samp{%}. This format | 927 | Replace the specification with a single @samp{%}. This format |
| @@ -1000,9 +1002,11 @@ both flags are used, @samp{+} takes precedence. | |||
| 1000 | The flag @samp{#} specifies an alternate form which depends on | 1002 | The flag @samp{#} specifies an alternate form which depends on |
| 1001 | the format in use. For @samp{%o}, it ensures that the result begins | 1003 | the format in use. For @samp{%o}, it ensures that the result begins |
| 1002 | with a @samp{0}. For @samp{%x} and @samp{%X}, it prefixes the result | 1004 | with a @samp{0}. For @samp{%x} and @samp{%X}, it prefixes the result |
| 1003 | with @samp{0x} or @samp{0X}. For @samp{%e}, @samp{%f}, and @samp{%g}, | 1005 | with @samp{0x} or @samp{0X}. For @samp{%e} and @samp{%f}, the |
| 1004 | the @samp{#} flag means include a decimal point even if the precision | 1006 | @samp{#} flag means include a decimal point even if the precision is |
| 1005 | is zero. | 1007 | zero. For @samp{%g}, it always includes a decimal point, and also |
| 1008 | forces any trailing zeros after the decimal point to be left in place | ||
| 1009 | where they would otherwise be removed. | ||
| 1006 | 1010 | ||
| 1007 | The flag @samp{0} ensures that the padding consists of @samp{0} | 1011 | The flag @samp{0} ensures that the padding consists of @samp{0} |
| 1008 | characters instead of spaces. This flag is ignored for non-numerical | 1012 | characters instead of spaces. This flag is ignored for non-numerical |
| @@ -1033,10 +1037,14 @@ ignored. | |||
| 1033 | All the specification characters allow an optional @dfn{precision} | 1037 | All the specification characters allow an optional @dfn{precision} |
| 1034 | before the character (after the width, if present). The precision is | 1038 | before the character (after the width, if present). The precision is |
| 1035 | a decimal-point @samp{.} followed by a digit-string. For the | 1039 | a decimal-point @samp{.} followed by a digit-string. For the |
| 1036 | floating-point specifications (@samp{%e}, @samp{%f}, @samp{%g}), the | 1040 | floating-point specifications (@samp{%e} and @samp{%f}), the |
| 1037 | precision specifies how many decimal places to show; if zero, the | 1041 | precision specifies how many digits following the decimal point to |
| 1038 | decimal-point itself is also omitted. For @samp{%s} and @samp{%S}, | 1042 | show; if zero, the decimal-point itself is also omitted. For |
| 1039 | the precision truncates the string to the given width, so @samp{%.3s} | 1043 | @samp{%g}, the precision specifies how many significant digits to show |
| 1044 | (significant digits are the first digit before the decimal point and | ||
| 1045 | all the digits after it). If the precision of %g is zero or | ||
| 1046 | unspecified, it is treated as 1. For @samp{%s} and @samp{%S}, the | ||
| 1047 | precision truncates the string to the given width, so @samp{%.3s} | ||
| 1040 | shows only the first three characters of the representation for | 1048 | shows only the first three characters of the representation for |
| 1041 | @var{object}. For other specification characters, the effect of | 1049 | @var{object}. For other specification characters, the effect of |
| 1042 | precision is what the local library functions of the @code{printf} | 1050 | precision is what the local library functions of the @code{printf} |