Sök…


Introduktion

Batchfiler tillåter endast 32 bitars heltalberäkningar, även om detta kan kringgås med olika tillvägagångssätt.

Använda powershell

Eftersom powershell är installerat som standard på alla Windows-system från 7/2008 och uppåt kan den användas för mer komplexa beräkningar:

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

Tänk på de ytterligare dubbla citaten i for /f som förhindrar parenteser i konflikt med syntaxen för kommandot.

Potentiellt problem är att powershell är mycket långsammare än att använda wsh / vbscript / jscript på grund av laddningen av .net-framerwork

Med jscript

WSH/JScript är installerat på alla Windows-system sedan NT så att det används för mer komplexa beräkningar gör det ganska bärbart. JScript är enklare att kombinera det med batchfil:

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

Med den här metoden kan du lägga hela koden i en enda fil. Det är snabbare än att använda powershell. Här och här kan mer avancerade skript hittas (som kan användas som externa filer).

Emulering av penna och pappersberäkningar, implementeringar av matematikfunktioner

  1. Här hittar du det mest omfattande matematikbiblioteket som emulerar penn- och pappersberäkningar och gör det möjligt att arbeta med större antal.
  2. Här är ytterligare exempel på penna- och pappersemuleringar: ADD , Comparison , Multiply
  3. Vissa implementeringar av matematikfunktioner kan hittas här .


Modified text is an extract of the original Stack Overflow Documentation
Licensierat under CC BY-SA 3.0
Inte anslutet till Stack Overflow