Suche…


Einführung

Batch-Dateien lassen nur 32-Bit-Ganzzahlberechnungen zu, diese können jedoch mit unterschiedlichen Methoden umgangen werden.

Powershell verwenden

Da die Powershell ab Windows 7/2008 standardmäßig auf jedem Windows-System installiert ist, kann sie für komplexere Berechnungen verwendet werden:

@echo off
set "expression=(2+3)*10/1000"
for /f %%# in ('"powershell %expression%"') do set result=%%#
echo %result%

Beachten Sie die zusätzlichen Anführungszeichen in for /f die Konflikte in Klammern mit der for-Befehlssyntax verhindern.

Ein mögliches Problem ist, dass Powershell aufgrund des Ladens der .net-Framerwork viel langsamer ist als wsh / vbscript / jscript

Jscript verwenden

WSH/JScript ist seit Windows auf jedem Windows-System installiert. Durch die Verwendung für komplexere Berechnungen ist es daher sehr portabel. JScript lässt sich einfacher mit einer Batchdatei kombinieren:

@if (@codesection==@batch) @then
@echo off

set "expression=2*(2+3)/1000"
for /f %%# in ('cscript //nologo //e:jscript "%~f0" "%expression%"') do set 
result=%%#
echo %result%
:: more batch code

exit /b %errorlevel%
@end
WScript.Echo(eval(WScript.Arguments(0)));

Mit diesem Ansatz können Sie den gesamten Code in einer einzigen Datei speichern. Er ist schneller als die Verwendung von Powershell. Hier und hier finden Sie fortgeschrittenere Skripts (die als externe Dateien verwendet werden können).

Emulation von Stift- und Papierberechnungen, Implementierung mathematischer Funktionen

  1. Hier finden Sie die umfassendste Mathematikbibliothek, die Stift- und Papierberechnungen emuliert und das Arbeiten mit größeren Zahlen ermöglicht.
  2. Hier sind weitere Beispiele für Stift- und Papieremulationen: ADD , Vergleich , Multiplizieren
  3. Einige mathematische Funktionsimplementierungen finden Sie hier .


Modified text is an extract of the original Stack Overflow Documentation
Lizenziert unter CC BY-SA 3.0
Nicht angeschlossen an Stack Overflow