diff options
Diffstat (limited to 'Master/texmf-dist/tex/latex/datatool/datatool-base.sty')
-rw-r--r-- | Master/texmf-dist/tex/latex/datatool/datatool-base.sty | 32 |
1 files changed, 26 insertions, 6 deletions
diff --git a/Master/texmf-dist/tex/latex/datatool/datatool-base.sty b/Master/texmf-dist/tex/latex/datatool/datatool-base.sty index e0e288a574e..14eb1f27055 100644 --- a/Master/texmf-dist/tex/latex/datatool/datatool-base.sty +++ b/Master/texmf-dist/tex/latex/datatool/datatool-base.sty @@ -39,7 +39,7 @@ %% Grave accent \` Left brace \{ Vertical bar \| %% Right brace \} Tilde \~} \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{datatool-base}[2013/09/06 v2.18 (NLCT)] +\ProvidesPackage{datatool-base}[2014/06/10 v2.22 (NLCT)] \RequirePackage{etoolbox} \RequirePackage{amsmath} \RequirePackage{xkeyval} @@ -424,11 +424,13 @@ \def\@dtl@decimaltolocale#1.#2\relax{% \@dtl@decimaltolocaleint{#1}% \def\@dtl@fracpart{#2}% - \ifx\@dtl@fracpart\@empty + \ifdefempty\@dtl@fracpart + {% \def\@dtl@fracpart{0}% - \else + }% + {% \@dtl@decimaltolocalefrac#2\relax - \fi + }% } \def\@dtl@decimaltolocaleint#1{% \@dtl@tmpcount=0\relax @@ -472,8 +474,26 @@ \@dtl@localeintnext#2\relax } \def\@dtl@decimaltolocalefrac#1.\relax{% - \def\@dtl@fracpart{#1}% - \@dtl@choptrailingzeroes{\@dtl@fracpart}% + \count@=0\relax + \@dtl@digitcount#1\relax + \ifnum\count@>9\relax + \@dtl@chopexcessfrac#1000000000\@nil + \else + \def\@dtl@fracpart{#1}% + \fi +} +\newcommand*{\@dtl@chopexcessfrac}[9]{% + \def\@dtl@fracpart{#1#2#3#4#5#6#7#8#9}% + \@dtl@gobbletonil +} +\newcommand*{\@dtl@digitcount}[1]{% + \ifx\relax#1\relax + \let\@dtl@digitcountnext\relax + \else + \advance\count@ by \@ne + \let\@dtl@digitcountnext\@dtl@digitcount + \fi + \@dtl@digitcountnext } \newcommand*{\DTLdecimaltocurrency}[2]{% \edef\@dtl@tmpdtl{#1}% |