Wpis z mikrobloga

Potrzebuje pomocy, chce napisac pewny prosty programik w batchu ale problem jest w tym ze nie wiem jak mnozyc jakas liczbe przez ulamek
pwoedzmy ze moj program wyglada tak

echo podaj mnoza
set /p mnozna=
echo podaj mnoznik
set /p mnoznik=
set /a iloczyn=%mnozna%*%mnoznik%
echo twoj iloczyn wynosi %iloczyn%
pause

jako mnozna podaje np 12, a jako mnoznik 1,5 i na koncu wyswietla sie 12

jak to zrobic?

#batch #cmd #programowanie
  • 10
@Bapol: bez różnicy, batch też nie wspiera floating point arithmetic.
zamiast bc możesz zrobić delegację do powershella w takim wypadku (o ile system na powershella)
przykład z dzieleniem:

set divident=10,5
set divisor=3,4
for /f "delims=" %%a in ('powershell -Command [convert]::ToDouble^(\"%divident%\"^)
/[convert]::ToDouble^(\"%divisor%\"^)') do set result=%%a
@echo %result%
@Bapol: Wszystko co masz zrobić na liczbach dziesiętnych zrób na całkowitych - z tym, ze zakładasz z góry x miejsc po przecinku, a pozniej podczas wyswietlania jedynie dodaj przecinek w odpowiednim miejscu, i tyle.
Dla przykładu masz dwie liczby 2,01 i 10,1 - traktujesz je jako 201 i 1010 - teraz dodajesz, mnozysz co tylko chcesz. Tylko jak wyswietlasz wynik to nie (np. dla mnożenia) 203010 tylko 20,30. (cztery miejsca w