En esta segunda version e ampliado el comando hasta las cuatro acciones aritmeticas basicas (Sumar, restar, multiplicar y dividir) con numeros reales, quiero avisar antes de que se me hechen al cuello de que el segundo decimal no suele ser totalmente exacto hay una variacion respecto a una calculadora, esto se deve a que CMD tiende a redondear los resultados cuando la operacion no devuelve un numero entero por lo demas va medianamente bien, os dejo el codigo para que le hecheis un vistazo.
Sintaxis:
float xx,yy + xx,yy
float xx,yy - xx,yy
float xx,yy * xx,yy
float xx,yy / xx,yy
- 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)
 
- if-  " ^%- operador %s- " == " ^+- s"  (goto-  sumar )
 
- if-  " ^%- operador %s- " == " ^-- s"  (goto-  restar )
 
- if-  " ^%- operador %s- " == " ^*- s"  (goto-  multiplicar )
 
- if-  " ^%- operador %s- " == " ^/- s"  (goto-  dividir )
 
-   
- :sumar 
- set-  /a RsEntero= %entero1% %operador% %entero2%
 
- set-  /a RsDecimal= %decimales1% %operador% %decimales2%
 
- if-  "100"  GEQ-  " %RsDecimal%- "  (set-  /a "RsEntero= %RsEntero%-  +  %RsDecimal:~0,1%- " )
 
- set-  "resultado= %RsEntero%- , %RsDecimal%- " 
 
-   
- :restar 
- set-  /a RsEntero= %entero1% %operador% %entero2%
 
- set-  /a RsDecimal= %decimales1% %operador% %decimales2%
 
- 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%
 
-   
- :multiplicar 
- set-  /a RsEntero= %entero1% %operador% %entero2%
 
- set-  /a RsDecimal= %decimales1% %operador% %decimales2%
 
- set-  line1= %entero1%%decimales1%
 
- set-  line2= %entero2%%decimales2%
 
- set-  /a RsTotal=  %line1%-  *  %line2%
 
- set-  "resultado= %RsTotal:~0,-4%- , %RsTotal:~-4%- " 
 
-   
- :dividir 
- set-  /a Dividendo= %entero1%%decimales1%
 
- set-  /a Divisor= %entero2%%decimales2%
 
-   
-   
- :tres 
- for-  /l  %%g in (%Dividendo%- ,- %Divisor%- ,0 ) do (
 
- 	if-  " %%g- "  LSS-  " %Divisor%- "  (set-  Resto= %%g ) )
 
- for-  /l  %%h in (%Resto%- 0,- %Divisor%- ,0 ) do (
 
- 	if-  " %%h- "  LSS-  " %Divisor%- "  (set-  Resto= %%- h0 ) )
 
- for-  /l  %%- _  in (%Resto%- ,- %Divisor%- ,0 ) do (
 
- 	if-  " %%- _"  LSS-  " %Divisor%- "  (set-  Resto= %%- _ ) )
 
- set-  resultado=0, %cont:-=%%cont2:-=%%cont3:-=%
 
-   
- :cuatro 
- for-  /l  %%i in (%Dividendo%- ,- %Divisor%- ,0 ) do (
 
- 	if-  " %%i- "  LSS-  " %Divisor%- "  (set-  Resto= %%- i0  ) )
 
- for-  /l  %%j in (%Resto%- ,- %Divisor%- ,0 ) do (
 
- 	if-  " %%j- "  LSS-  " %Divisor%- "  (set-  Resto= %%- j0 ) )
 
- for-  /l  %%k in (%Resto%- ,- %Divisor%- ,0 ) do (
 
- 	if-  " %%k- "  LSS-  " %Divisor%- "  (set-  Resto= %%k) )
 
- set-  resultado= %cont%- , %cont2%%cont3%
 
-   
Tambien, y derivado del float e creado otro code para realizar raices cuadradas decimales, tmb tiene error por redondeo pero menos es nada XD
Sintaxis:
-   
- :uno 
- set-  /a RefEntera=  %RefEntera%-  + 1 
 
- set-  /a BaseEntera=  %cont%-  *  %cont%
 
-   
-   
- :dos 
- pushd-  " %windir%- \system32" 
 
- set-  /a RefDecimal= %RefDecimal%-  + 1 
 
- for-  /f "tokens=*"  %%a in (- 'float.bat  %RefEntera%- , %cont3%-  *  %RefEntera%- , %cont3%- ' ) do (
 
-   
-   
Espero os resulte util o por lo menos curioso XD!!
Un saludo gente ^^