Con este script podremos sumar y restar con dos decimales por lo menos
, el code funciona bastante bien, despues de bastantes errores en el algoritmo creo haberlo afinado haunque si veis errores en los resultados me gustaria que pusierais las cantidades con las que habeis operado para estudiar el comportamiento y corregir el algoritmo, bueno espero que os sirva
La sintasix seria por ejemplo:
float xx,yy + xx,yy
float xx,yy - xx,yy
Este es el codigo resultante
for /f "tokens=*"
%%a in ('
set /a "operando1=
%1,
%2"'
) do ( set decimales1=
%%a) for /f "tokens=*"
%%b in ('
set /a "operando2=
%4,
%5"'
) do (set decimales2=
%%b) set /a RsEntero=
%entero1% %operador% %entero2% set /a RsDecimal=
%decimales1% %operador% %decimales2% if "
^%operador
%s" == "
^+s"
(goto sumar
) if "
^%operador
%s" == "
^-s"
(goto restar
)
:sumar
if "100"
GEQ "
%RsDecimal%"
(set /a "RsEntero=
%RsEntero% +
%RsDecimal:~0,1%"
) set "resultado=
%RsEntero%,
%RsDecimal%"
:restar
if "
%decimales1%"
LSS "
%decimales2%"
(set "decimales1=1
%decimales1%"
& set /a "entero1=
%entero1%-1"
& goto uno
) if "
%decimales2%"
LSS "
%decimales1%"
(set "decimales2=1
%decimales2%"
& set /a "entero2=
%entero2%-1"
& goto dos
)
:uno
set /a RsDecimal=
%decimales1%-
%decimales2% set /a RsEntero=
%entero2%%operador%%entero1% set resultado=
%RsEntero%,
%RsDecimal%
:dos
set /a RsDecimal=
%decimales2%-
%decimales1% set /a RsEntero=
%entero2%%operador%%entero1% set resultado=-
%RsEntero%,
%RsDecimal%
Espero que os guste, un saludo gente