summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/datatool/datatool-base.sty
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/latex/datatool/datatool-base.sty')
-rw-r--r--Master/texmf-dist/tex/latex/datatool/datatool-base.sty32
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}%