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
  • Odpowiedz
via Wykop Mobilny (Android)
  • 0
@Bapol: napisz to w pythonie a nie bashu najlepiej.

You can't. bash only does integers; you must delegate to a tool such as bc.
  • Odpowiedz
@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
  • Odpowiedz
@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
  • Odpowiedz