Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Frage Entwicklung Batch & Shell

GELÖST

Genaue Prozent Rechnung!

Mitglied: DomiZone1

DomiZone1 (Level 1) - Jetzt verbinden

08.11.2014, aktualisiert 10.11.2014, 1638 Aufrufe, 8 Kommentare

Hallo Leute

Ich möchte in einen Spiel eine Prozentrechnung der vorhandenen Leben Haben
also habe ich ein Test mit batch gestartet und bemerkt das batch die Komma stellen
nicht berücksichtigt. Nun stellt sich mir die frage wie kann ich so was implementieren ohne
die übersieht zu verlieren!

Ihr könnt auch auf vbs etc. Ausweichen wichtig sind mir 2 bis 4 stellen mindestens nach dem Komma!!!
(Man Kann es nicht nur fürs Spiel verwenden!)

Danke im voraus

LG DomiZone1
Mitglied: 114757
08.11.2014, aktualisiert um 17:40 Uhr
Bitte warten ..
Mitglied: DomiZone1
09.11.2014 um 22:47 Uhr
Sorry Aber ich brauche das bei einen aktiven Skript der sich wiederholt und abändern des vbs ist mir aktuell zu kompliziert
Acutng Extrem Abgespeckter Code
Code:
01.
@echo off 
02.
echo --------------------------------------------------------------- 
03.
echo  das hier ist leider nur eine Demo es gibt nur eine runde!!! 
04.
echo --------------------------------------------------------------- 
05.
ping -n 2 127.0.0.1>nul 
06.
cls 
07.
set Y=1000 
08.
set N=1000 
09.
set turn=--) 
10.
:Reset 
11.
cls 
12.
::Und Hier sollen die HP in Prozent umgerechnet werden 
13.
::LEQ bedeutet gleich oder weniger als ... und ist wie: == nur das das nur gleich bedeutet 
14.
if %Y% LEQ 0 goto You_lose 
15.
if %N% LEQ 0 goto You_win 
16.
echo --------------------------------------------------------------------------- 
17.
echo    %Y%                                                                %N% 
18.
echo --------------------------------------------------------------------------- 
19.
if %turn%==--) set /A Y=%Y%-%random% %%150 && set turn=(-- && ping -n 2 127.0.0.1>nul && goto Reset 
20.
if %turn%==(-- set /A N=%N%-%random% %%150 && set turn=--) && ping -n 2 127.0.0.1>nul && goto Reset 
21.
:You_lose 
22.
echo Du hast verloren 
23.
pause>nul 
24.
exit 
25.
:You_win 
26.
echo du hast gewonnen 
27.
pause>nul 
28.
exit
Ich brauche auf jeden fall mehr variablen die sind im richtigen Code aber vorhanden
aber den füge ich wegen der gösse nicht ein. Außerdem sind da ASCII Zeichen drin und ich weiß nicht ob ihr das auf OEM852
ändern könnt!


LG DomiZone1

PS: Die Größe ist (6372 Zeichen 121 Zeilen und 4,43 KB)
Bitte warten ..
Mitglied: rubberman
09.11.2014 um 23:11 Uhr
Hallo DomiZone1.

::Und Hier sollen die HP in Prozent umgerechnet werden
Was sind denn HP und um welche konkreten Werte geht es?

Selbst wenn du diese Werte mit Nachkommastellen hast, kennt Batch immer noch keine Fließkommazahlen. Das heißt auch ein numerischer Vergleich ist nicht möglich.

Wenn es darum geht zu vergleichen, dann verrücke dein Komma (durch Anhängen von Nullen am Divident). Ob nun 100 % zu 25,3412 % verglichen wird (was in Batch nicht funktioniert) oder aber 1000000 zu 253412 (was in Batch sehr wohl funktioniert) ist doch völlig egal.

Grüße
rubberman
Bitte warten ..
Mitglied: DomiZone1
09.11.2014 um 23:24 Uhr
HP sind HealthPoints oder LebensPunkt Die HP Sind die variablen Y und N
und die beiden sollen in Prozent umgerechnet werden
also statt das ich 1000 sehe das die hp dar stellt will ich das in 100% sehen sofern das 100% sind

LG DomiZone1
Bitte warten ..
Mitglied: rubberman
10.11.2014, aktualisiert um 00:06 Uhr
Hallo DomiZone1,

dann schreibe dir halt eine Subroutine die die Berechnung so ausführt, wie ich es oben angemerkt habe und anschließend das Komma per Stringmanipulation hinein editiert.
01.
@echo off &setlocal 
02.
set /a "Y=500" 
03.
set /a "N=7" 
04.
call :toPercent 1000 %Y% pY 
05.
call :toPercent 1000 %N% pN 
06.
echo %pY% %% 
07.
echo %pN% %% 
08.
pause 
09.
exit /b 
10.
 
11.
:toPercent 
12.
setlocal 
13.
set /a "prozentsatz=%~2 * 1000000 / %~1" 
14.
set "prozentsatz=000000%prozentsatz%" 
15.
set "prozentsatz=1%prozentsatz:~-7%" 
16.
set /a "vorkomma=%prozentsatz:~0,4% %% 1000" 
17.
endlocal &set "%~3=%vorkomma%,%prozentsatz:~-4%" 
18.
exit /b
:toPercent wird mit dem Grundwert, dem Prozentwert und dem Variablenname für den Prozentsatz als Argumente gefüttert.

Sinn macht das trotzdem nicht, weil du nicht numerisch mit den erhaltenen Werten weiter arbeiten kannst. (Aber das hatte ich ja oben bereits geschrieben ...)

Grüße
rubberman
Bitte warten ..
Mitglied: DomiZone1
10.11.2014 um 01:59 Uhr
Danke Deine Lösung ist gut aber... leider geht mein batch Spiel sehr gerne ins minus (Fast immer)
und da hat deine Lösung leider einen haken es stört das Skript nicht wirklich ist aber nervig
wenn oben plötzlich Fehlender Operand steht kennst du oder irgendwer anders vielleicht eine Lösung die auch im negativen
funktioniert Ihr Könnt auch vbs nehmen!
Auser vbs kann auch nicht ins negative das muss es nämlich weil die Schwierigkeiten im richtigem Spiel
damit arbeiten müssen wenn die HP variablen ins minus gehen!!!
Weil Rechnungen für den nächsten Start des Kampfes

LG DomiZone1
Bitte warten ..
Mitglied: rubberman
LÖSUNG 10.11.2014, aktualisiert um 16:24 Uhr
Hallo DomiZone1.

Ihr Könnt auch vbs nehmen!
Diese Lösung hast du ja bereits bekommen ...

leider geht mein batch Spiel sehr gerne ins minus (Fast immer)
Das ist immer so, wenn man versucht mit Batch Spiele zu entwickeln. Der Ausgang ist zu 99,999 % negativ

01.
@echo off &setlocal 
02.
set /a "Y=500" 
03.
set /a "N=-7" 
04.
call :toPercent 1000 %Y% pY 
05.
call :toPercent 1000 %N% pN 
06.
echo %pY% %% 
07.
echo %pN% %% 
08.
pause 
09.
exit /b 
10.
 
11.
:toPercent 
12.
setlocal 
13.
set /a "prozentsatz=%~2 * 1000000 / %~1" 
14.
set "vorzeichen=" 
15.
if %prozentsatz% lss 0 ( 
16.
  set "vorzeichen=-" 
17.
  set /a "prozentsatz*=-1" 
18.
19.
set "prozentsatz=000000%prozentsatz%" 
20.
set "prozentsatz=1%prozentsatz:~-7%" 
21.
set /a "vorkomma=%prozentsatz:~0,4% %% 1000" 
22.
endlocal &set "%~3=%vorzeichen%%vorkomma%,%prozentsatz:~-4%" 
23.
exit /b
Grüße
rubberman
Bitte warten ..
Mitglied: DomiZone1
10.11.2014 um 16:29 Uhr
Danke rubberman

Deine Lösung ist wie ich es mir vorgestellt habe und funktioniert jetzt 100% mit meinen Skript
endlich hab ich die Lösung

LG DomiZone1
Bitte warten ..
Ähnliche Inhalte
Rechtliche Fragen
Marketingfrage zum Versand von Rechnungen
Frage von StefanKittelRechtliche Fragen11 Kommentare

Hallo, kurz als Hintergrund. Ich bin selbstständiger IT-Consultant und IT-Systemadministrator. Dazu gehört auch, dass ich im Monat so 30-40 ...

JavaScript
Problem Bei JavaSkript Rechnung Division
Frage von HattoriHanzoJavaScript5 Kommentare

Wo Liegt hier der Fehler? bis Zeile 20 hat noch alles funktioniert.

Windows Server
Was genau ist ein Domänenkonzept?
gelöst Frage von BlackSnailWindows Server6 Kommentare

Hallo zusammen, ich bin neu hier und habe gleich mal eine Frage. Und zwar soll ich ein Domänen Konzept ...

Microsoft Office
Was genau bedeutet
Frage von ImTrainingMicrosoft Office2 Kommentare

Guten Morgen, Weiß einer was diese Fehlermeldung zu bedeuten hat? Sie taucht in einem Programm namens Nova Nota auf ...

Neue Wissensbeiträge
Linux

Meltdown und Spectre: Linux Update

Information von Frank vor 1 TagLinux

Meltdown (Variante 3 des Prozessorfehlers) Der Kernel 4.14.13 mit den Page-Table-Isolation-Code (PTI) ist nun für Fedora freigegeben worden. Er ...

Tipps & Tricks

Solutio Charly Updater Fehlermeldung: Das Abgleichen der Dateien in -Pfad- mit dem Datenobject ist fehlgeschlagen

Tipp von StefanKittel vor 2 TagenTipps & Tricks

Hallo, hier einmal als Tipp für alle unter Euch die mit der Zahnarztabrechnungssoftware Charly von Solutio zu tun haben. ...

Sicherheit

Meltdown und Spectre: Wir brauchen eine "Abwrackprämie", die die CPU-Hersteller bezahlen

Information von Frank vor 2 TagenSicherheit12 Kommentare

Zum aktuellen Thema Meltdown und Spectre: Ich wünsche mir von den CPU-Herstellern wie Intel, AMD oder ARM eine Art ...

Sicherheit

Meltdown und Spectre: Realitätscheck

Information von Frank vor 2 TagenSicherheit10 Kommentare

Die unangenehme Realität Der Prozessorfehler mit seinen Varianten Meltdown und Spectre ist seit Juni 2017 bekannt. Trotzdem sind immer ...

Heiß diskutierte Inhalte
Batch & Shell
Meltdown Microsoft Prüf Script - .zip Datei leider leer
gelöst Frage von MasterBlaster88Batch & Shell13 Kommentare

Hallo zusammen, ich patche gerade unsere Windows Server bzgl. der Meltdown Lücke. Patch vorhanden, Reg Keys gesetzt Um das ...

Batch & Shell
Shell-Skript - Syntax error: Unterminated quoted string
Frage von newit1Batch & Shell13 Kommentare

Hallo Ich schreibe ein Skript das eine CSV-Datei in eine mySQL Datenbank schieben soll. Bekomme nach start des Skrips ...

E-Mail
Erfahrungen mit hMailServer gesucht
Frage von it-fraggleE-Mail10 Kommentare

Hallo, meine neue Stelle möchte einen eigenen Mailserver. Ich als Linuxkind war direkt geistig mit Postfix dabei. Leider wollen ...

Entwicklung
VBS: alle PDF-Dateien in einem Ordner gleichzeitig öffnen
gelöst Frage von JuweeeEntwicklung9 Kommentare

Hallo, ich habe in deiner Ordnerstruktur (.\Tagesberichte\xx.18\) mehrere dynamische PDF-Formulare (mit LCD erstellt). Die Berichtsformulare sind im Layout alle ...