Ich mache eine Batch-Datei, so dass ich nur sagen, welche Art von Formel ich verwenden muss und es sagt mir, welche Variablen ich eingeben muss. Im Moment kodiere ich es so, dass es die Fläche eines Dreiecks findet.Wie verwende ich grundlegende Batch-Mathe-Befehle, um mit dezimalen Antworten zu kommen?
Ich habe den Code geschrieben, so dass Sie die Basis, Höhe und die Einheiten des Dreiecks fragt. Wie Sie wissen sollten, ist die Formel einfach, Base x Höhe/2. Also habe ich den Code getestet, um zu sehen, ob es funktioniert. Aber ich habe bemerkt, dass wenn es eine ungerade Zahl durch 2 teilt, es keine Dezimalantwort gibt. Es rundet stattdessen eine Zahl ab. (Bsp. 15/2 = 7)
Hier ist mein Code:
set /p TriangleB=How long is the base of the triangle? (Don't put the unit, just put the number):
set /p TriangleH=What is the height of the triangle? (Don't put the unit, just put the number):
set /p TriangleAreaUnit=What unit is the triangle being measured in?:
set /a TriangleArea=%TriangleB% * %TriangleH%/2
echo The area of the triangle is %TriangleArea% %TriangleAreaUnit%.
pause >nul
goto :EOF
Es macht mir keine Fehlermeldung und alles scheint glatt zu laufen, ich kann einfach nicht herausfinden, wie warum es mir keine dezimale Antwort geben wird.
Stapelmathematik kann nur 32-Bit-Ganzzahlen verarbeiten. Wenn Sie Dezimalzahlen oder große Zahlen benötigen, verwenden Sie die PowerShell. – SomethingDark