Zoeken…


Invoering

Batch-bestanden staan alleen 32bit gehele berekeningen toe, hoewel dit met verschillende benaderingen kan worden omzeild.

Powershell gebruiken

Omdat de powershell standaard op elk Windows-systeem vanaf 7/2008 wordt geïnstalleerd, kan het worden gebruikt voor complexere berekeningen:

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

Let op de extra dubbele aanhalingstekens in de for /f die voorkomen dat haakjes conflicteren met de syntaxis van for command.

Potentieel probleem is dat powershell veel langzamer is dan het gebruik van wsh / vbscript / jscript vanwege het laden van het .net-framerwork

Jscript gebruiken

WSH/JScript is geïnstalleerd op elk Windows-systeem sinds NT, dus het gebruiken voor complexere berekeningen maakt het vrij draagbaar. JScript is eenvoudiger te combineren met batchbestand:

@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)));

Met deze aanpak kunt u uw hele code in één bestand plaatsen. Het is sneller dan het gebruik van powershell. Hier en hier zijn meer geavanceerde scripts te vinden (die kunnen worden gebruikt als externe bestanden).

Emulatie van pen- en papierberekeningen, implementaties van wiskundige functies

  1. Hier vindt u de meest uitgebreide wiskundebibliotheek die pen- en papierberekeningen emuleert en waarmee u met grotere getallen kunt werken.
  2. Hier zijn nog een paar voorbeelden van pen- en papieremulaties: TOEVOEGEN , Vergelijking , Vermenigvuldigen
  3. Sommige implementaties van wiskundige functies zijn hier te vinden.


Modified text is an extract of the original Stack Overflow Documentation
Licentie onder CC BY-SA 3.0
Niet aangesloten bij Stack Overflow