Archivo .bat para hacer cálculos con números decimales

Archivo .bat para hacer cálculos con números decimales

Buenas,

@echo off
Title Programa para calcular ganancia
:Menu

Echo Ganancia en dolares

set /p adfly=Escriba la cantidad a convertir ?
set /a cent=%adfly%
set /a dolar=240000
set /a totcent=240

if %cent%==240 (echo ====tienes un centavo====)
if %cent%==240000 (echo ====tienes un dolar====)

set /a totd=%cent%/dolar
set /a totcent=%cent%/240

echo Tines un %totcent% Centavos

REM NO ME MUESTRA EN DECIMALES
echo Tienes un %totd% Dolares

REM NO ME MUESTRA EN DECIMALES

Echo prueba adfly %cent%:~ prueba total centavos %totcent% prueba total dolares %totd%

REM NO ME MUESTRA EN DECIMALES
echo 1.-Para volver al inicio
echo 2.-Para salir
set /p volver=desea volver al inicio ?

if %volver%==1 goto menu
if %volver%==2 goto salir

:Salir
Msg * Tienes %totcent% Centavos y %totd% Dolares
Pause >nul
exit

Pause

1 respuesta

Respuesta
3

No entiendo bien lo que intentas conseguir con este bat. Supongo que ya sabes que en bat no hay números decimales. Si quieres trabajar con ellos te los tienes que "montar" tú. Pero si para convertir la cantidad que sea en centavos de dólar tienes que dividir por 240 y, como parece obvio, un dólar tiene 100 centavos, para convertirla en dólares tendrías que dividir por 24000 y no por 240000. Dime una cantidad y lo que querrías que saliera (formato incluido). Por ejemplo si la cantidad fuera 351286 que el resultado fuera 1.46 o 1,46

Buenos días,

Gracias Por Responder

Es que adfly es una página que paga por acortar enlaces

Y 240 visitas equivalen a un centavo

240000 a un dolar

Entonces el programita me haría la conversión a partir de la cantidad " Adflys vistias " a centavos y dolares

Pero ¿no es un poco contradictorio que 240000, que es 1000 veces 240, sean 100 centavos (puesto que un dólar son 100 centavos) y no 1000 centavos, que serían 10 dólares?

Si 240 visitas equivalen a un centavo, 480 equivaldrían a 2, 720 a 3 y así sucesivamente, 24000, que son 240 x 100, deberían equivaler 100 centavos.

Como te planteaba en mi pregunta, ¿qué resultado se espera para 351286 visitas? ¿351286/240000 dólares, que serían aproximadamente 1,463 o 351286/240 centavos, que serían aproximadamente 1463,691 centavos, es decir 14,637 dólares?

En cualquier caso, ¿cómo querrías que saliera el resultado?

240VISITAS =1 CENTAVO

100 CENTAVOS SON UN DOLAR

240VT * 100CTV = 240000VT QUE EQUIVALEN A UN DOLAR

UNA PRUEBA EN JAVA, DISCULPE SI ME SALI DE CONTEXTO, PERO QUIERO SABER SI SE PUEDO HACER ESTO EN BAT

import java.util.Scanner;
public class adfly {
public static void main(String[] args) {
Scanner Scn = new Scanner(System.in);
int cent, adfly;
double Dolar,totd;
System.out.println("Escriba la cantidad de adfly");
adfly=Scn.nextInt();
Dolar =240000;
cent=240;
if (adfly==240)
System.out.println(" Tiene un centavo de dolar ");
if (adfly==240000)
System.out.println(" Tiene un dolar ");
totd=adfly/Dolar;
cent=adfly/240;
System.out.println(" Usted tiene " + cent + " Centavos ");
System.out.println(" Usted tiene " + totd + " Dolares ");
System.out.println(" Usted tiene En pesos colombianos tienes " + totd * 3.008 + " $ ");
}
}

RESULTADO, PRUEBA CON 1 CENTAVO-240VISITAS

--------------------Configuration: adfly - JDK version 1.8.0_60 <Default> - <Default>--------------------
Escriba la cantidad de adfly
240
Tiene un centavo de dolar
Usted tiene 1 Centavos
Usted tiene 0.001 Dolares
Usted tiene En pesos colombianos tienes 0.0030080000000000003 $

Process completed.

RESULTADO, PRUEBA CON DOLAR-240VISITAS

--------------------Configuration: adfly - JDK version 1.8.0_60 <Default> - <Default>--------------------
Escriba la cantidad de adfly
240000
Tiene un dolar
Usted tiene 1000 Centavos
Usted tiene 1.0 Dolares
Usted tiene En pesos colombianos tienes 3.008 $

Process completed.

Aquí tenemos dos problemas. Uno, al que más vueltas le estamos dando sin ponernos de acuerdo, es que 240*100 son 24000 y no 240000. Consecuencia de esto es que en contra de lo que dices al principio de 100 CENTAVOS SON 1 DOLAR, en este segundo ejemplo de 240000 adfly se dice que "Usted tiene 1000 Centavos" y "Usted tiene 1.0 Dolares"

El otro es que no acabo de entender que quieres hacer con el bat. Si quieres un bat que haga operaciones con decimales como te dije te lo tienes que montar. Te pongo un ejemplo de un bat que te pide el dividendo, el divisor y te da el resultado con dos decimales y usa la coma como separador:

@echo off
set /p dividendo=Escribe el dividendo: 
set /p divisor=Escribe el divisor:  
set /a cociente=(%dividendo%*100)/%divisor%
set cociente=%cociente:~0,-2%,%cociente:~-2,2%
Echo %dividendo%/%divisor%=%cociente% 

Por cierto, para incluir los códigos de estas cosas lo mejor es usar el icono <> ("Insertar código fuente") de la barra de herramientas de la página.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas