Benutzer mit den meisten Antworten
Rechnen mit Variablen Operatoren

Frage
-
Liebe Kollegen
Ich habe begonnen mit Powershell zu programmieren und brauche eure hilfe. Ich versuche zurzeit einen Taschenrechner zu programmieren, doch leider gibt es eine Hürde bei der ich gerne eure Unterstützung beanspruchen möchte.
Und zwar möchte ich einen Operator welches ich zuvor in einer Variable gespeichert habe für eine Rechnung verwenden. Wie kann ich das am einfachsten lösen. Ich möchte keine IF/Switch Funktionen einbauen, Powershell sollte ja von haus aus richtig rechnen können.
Beispiel:
$var1 = 5
$var2 = 8
$var3 = +
$result = $var1 $var3 var2
Freue mich über alle Tipps die ich erhalte.
- Bearbeitet Emin58 Montag, 20. Juni 2016 13:28
Antworten
-
https://technet.microsoft.com/de-de/library/hh849893.aspx
Evgenij Smirnov
msg services ag, Berlin -> http://www.msg-services.de
my personal blog (mostly German) -> http://it-pro-berlin.de
Windows Server User Group, Berlin -> http://www.winsvr-berlin.de
Mark Minasi Technical Forum, reloaded -> http://newforum.minasi.comIn theory, there is no difference between theory and practice. In practice, there is.
- Als Antwort vorgeschlagen Andreas Bode Montag, 20. Juni 2016 13:43
- Nicht als Antwort vorgeschlagen Denniver ReiningMVP, Moderator Montag, 20. Juni 2016 14:36
- Als Antwort vorgeschlagen Denniver ReiningMVP, Moderator Montag, 20. Juni 2016 14:36
- Als Antwort markiert Denniver ReiningMVP, Moderator Dienstag, 21. Juni 2016 11:38
-
Hallo,
mit dem Cmdlet Invoke-Expression kannst du Strings ausführen, als wären sie implementierter Code:
$String = "3*4" Invoke-Expression $String
Den String kannst du entweder direkt eingeben lassen oder durch Verknüpfung generieren. Da sind der Kreativität keine Grenzen gesetzt.
Spannend wird es, wenn du höherwertige Operationen wie Potenzen und sin, cos, tan ausführen willst. Die funktionieren über [math]::pow() usw. Dafür könntest du Funktionen definieren, um die Taschenrechner-Syntax einfach zu halten:
function Potenz($a, $b) { return [math]::Pow($a,$b) } $String = "Potenz 4 5" Invoke-Expression $String
Viele Grüße
Christoph
- Bearbeitet hpotsirhc Montag, 20. Juni 2016 13:46
- Als Antwort vorgeschlagen Denniver ReiningMVP, Moderator Montag, 20. Juni 2016 14:36
- Als Antwort markiert Denniver ReiningMVP, Moderator Dienstag, 21. Juni 2016 11:38
Alle Antworten
-
https://technet.microsoft.com/de-de/library/hh849893.aspx
Evgenij Smirnov
msg services ag, Berlin -> http://www.msg-services.de
my personal blog (mostly German) -> http://it-pro-berlin.de
Windows Server User Group, Berlin -> http://www.winsvr-berlin.de
Mark Minasi Technical Forum, reloaded -> http://newforum.minasi.comIn theory, there is no difference between theory and practice. In practice, there is.
- Als Antwort vorgeschlagen Andreas Bode Montag, 20. Juni 2016 13:43
- Nicht als Antwort vorgeschlagen Denniver ReiningMVP, Moderator Montag, 20. Juni 2016 14:36
- Als Antwort vorgeschlagen Denniver ReiningMVP, Moderator Montag, 20. Juni 2016 14:36
- Als Antwort markiert Denniver ReiningMVP, Moderator Dienstag, 21. Juni 2016 11:38
-
Hallo,
mit dem Cmdlet Invoke-Expression kannst du Strings ausführen, als wären sie implementierter Code:
$String = "3*4" Invoke-Expression $String
Den String kannst du entweder direkt eingeben lassen oder durch Verknüpfung generieren. Da sind der Kreativität keine Grenzen gesetzt.
Spannend wird es, wenn du höherwertige Operationen wie Potenzen und sin, cos, tan ausführen willst. Die funktionieren über [math]::pow() usw. Dafür könntest du Funktionen definieren, um die Taschenrechner-Syntax einfach zu halten:
function Potenz($a, $b) { return [math]::Pow($a,$b) } $String = "Potenz 4 5" Invoke-Expression $String
Viele Grüße
Christoph
- Bearbeitet hpotsirhc Montag, 20. Juni 2016 13:46
- Als Antwort vorgeschlagen Denniver ReiningMVP, Moderator Montag, 20. Juni 2016 14:36
- Als Antwort markiert Denniver ReiningMVP, Moderator Dienstag, 21. Juni 2016 11:38
-
Hallo,
ich möchte mich sehr herzlich bedanken für die Unterstützung, doch ich habe noch eine Frage und zwar wie kann ich die Ausgabe aus dem Invoke-Expression in eine Variable abspeichern, irgendwie finde ich nichts dazu.
Danke schon mal im Voraus und wünsche euch einen angenehmen Abend.
Grüsse
Emin
-
$result = Invoke-Expression $expr
Evgenij Smirnov
msg services ag, Berlin -> http://www.msg-services.de
my personal blog (mostly German) -> http://it-pro-berlin.de
Windows Server User Group, Berlin -> http://www.winsvr-berlin.de
Mark Minasi Technical Forum, reloaded -> http://newforum.minasi.comIn theory, there is no difference between theory and practice. In practice, there is.