Batch-Satti
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.
Batch-Satti

Você não está conectado. Conecte-se ou registre-se

[duvida]Contas com batch

2 participantes

Ir para baixo  Mensagem [Página 1 de 1]

1[duvida]Contas com batch Empty [duvida]Contas com batch Qui Jan 15, 2009 2:50 am

Imoogi



uma simples pergunta. Batch Script faz conta com números decimais?? se sim como?

2[duvida]Contas com batch Empty Re: [duvida]Contas com batch Qui Jan 15, 2009 1:06 pm

Boss-Head

Boss-Head

@echo off
REM ESPECIFIQUE AS VARIÁVEIS COM DECIMAIS
REM OU UTILIZE O SET /P var1= E SET /P var2=
REM CONTINUANDO
:: DECLARADAS AS VARIÁVEIS DECIMÁIS

set var1=12,85
set var2=50,45


REM SOMAMOS AS UNIDADES E OS DECIMÁIS SEPARADAMENTE
set /a Somaunidades=%var1:~0,2% + %var2:~0,2%
set /a Somadecimas=%var1:~3,2% + %var2:~3,2%


REM Nós especificamos que se os décimos são 100 mesmos ou eles superam à 100, são 100 à décima e ele/ela entenda como 1 unidade
if %Somadecimas% geq 100 (set /a Somadecimas=%Somadecimas% - 100 && set /a Somaunidades=%Somaunidades% + 1)
echo %Somaunidades%,%Somadecimas%
pause

rem testando a tese

cls
SET /P var1= Primeiro valor decimal :
echo.
SET /P var2= Segundo valor decimal :

set /a Somaunidades=%var1:~0,2% + %var2:~0,2%
set /a Somadecimas=%var1:~3,2% + %var2:~3,2%
if %Somadecimas% geq 100 (set /a Somadecimas=%Somadecimas% - 100 && set /a Somaunidades=%Somaunidades% + 1)
echo %Somaunidades%,%Somadecimas%
pause

Pssn gosta desta mensagem

3[duvida]Contas com batch Empty Re: [duvida]Contas com batch Qui Jan 15, 2009 1:23 pm

Boss-Head

Boss-Head

A tese de cima funciona para + - * menos para / para dividir usa-se assim
Código:
@echo off
title DIVISAO CON  DECIMAIS
echo Calcula uma DIVISAO com numeros  DECIMAIS
:main
echo.
echo.
echo.
set did=
set div=
set max=
set /p did=Introduza o dividendo:
set /p div=Introduza o divisor:
set /p max=Introduza o numero maximo de  DECIMAIS (defalt  30):
if "%did%"=="" goto main
if "%div%"=="" goto main
if "%max%"=="" set max=30
if "%max%"=="0" set max=30
set /a xxx=%did%*1
if not "%xxx%"=="%did%" goto main
set /a xxx=%div%*1
if not "%xxx%"=="%div%" goto main
set /a xxx=%max%*1
if not "%xxx%"=="%max%" goto main
echo.
if %div%==0 (
echo Erro. DIVISAO por zero.
pause>nul
exit
)
set /a divno0=%did%/%div%
set /a mult1=%divno0%*%div%
set /a resi0=%did%-%mult1%
if %resi0%==0 (
goto exato
)
set p=0
echo Calculando...
echo.
:a
set /a nu=nu+1
set temp1=resi%p%
set temp2=divno%nu%
set temp3=mult%nu%
call:func1 %%%temp1%%%0
call:func2 %%%temp2%%% %%%temp2%%%
call:func3 %%%temp1%%%0 %%%temp3%%%
goto sig
:func1
set /a divno%nu%=%1/%div%
goto:EOF
:func2
set /a mult%nu%=%1*%div%
goto:EOF
:func3
set /a resi%nu%=%1-%2
goto:EOF
:sig
set /a p=p+1
set temp=resi%nu%
call:funcao2 %%%temp%%%
goto sig2
:funcao2
set tempvalor=%1
goto:EOF
:sig2
If not %nu%==%max% if not %tempvalor%==0 goto a
For /L %%I IN (1,1,%nu%) DO (
call:funcao3 %%%%divno %%I%%%%
)
goto exato
:funcao3
call:funcao7 %1%2
goto seguir
:funcao7
set tmpvar=%1
goto:EOF
:seguir
set decimal=%decimal%%tmpvar%
goto:EOF
:exato
if not "%decimal%"=="" set decimal=.%decimal%
echo Resultado: %divno0%%decimal%
pause>nul
exit

4[duvida]Contas com batch Empty Re: [duvida]Contas com batch Qui Jan 15, 2009 2:05 pm

Imoogi



eu preciso para multiplicar msm, vlw boss.

Conteúdo patrocinado



Ir para o topo  Mensagem [Página 1 de 1]

Permissões neste sub-fórum
Não podes responder a tópicos