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
GELÖST

Batch - Dividieren ? (mit kommastelle)

Frage Entwicklung Batch & Shell

Mitglied: Nowologix

Nowologix (Level 1) - Jetzt verbinden

20.02.2008, aktualisiert 04.03.2008, 19624 Aufrufe, 26 Kommentare

z.B.
-> CMD: set /a 120/13 = 9
-> RRECHNER: 120/13 = 9,2

Hey
ich würde gerne wissen ob es möglich ist mit der CMD
mit kommastellen zu dividieren...

Ich brauche dies für eine prozent rechnung:

X/100*X

nur ohne kommastellen oder ohne genaue ausgabe der rechnung
ist das kaum präzise durchzuführen...


hat jemand eine lösung ?
(unter umständen auch mit VBS)

:- )

Vielen dank für die eventuelle Mühe



Nowo
Mitglied: bastla
20.02.2008 um 22:38 Uhr
Hallo Nowologix!

(unter umständen auch mit VBS)
Na dann:
01.
@echo off & setlocal 
02.
set Zahl1=120 
03.
set Zahl2=13 
04.
set Stellen=2 
05.
 
06.
set R=%temp%\Rechne.vbs 
07.
echo Set a=WScript.Arguments:WScript.Echo FormatNumber(Eval(a(0)),a(1))>%R% 
08.
for /f %%i in ('cscript //nologo %R% "%Zahl1%/%Zahl2%" %Stellen%') do set Ergebnis=%%i 
09.
echo %Ergebnis%
Zwischen den Anführungszeichen kannst Du im Prinzip jede gültige Berechnung (auch, wie gezeigt, mit Variablen) angeben.

Grüße
bastla
Bitte warten ..
Mitglied: Biber
20.02.2008 um 22:48 Uhr
Moin Nowologix,

nein, es lässt sich nicht am CMD-Prompt/im Batch mit Nachkommastellen rechnen.

Das Ergebnis allerdings, wenn Du es nur irgendwohin schreiben willst, kannst Du natürlich erzeugen.

Es steht dir ja frei, statt 120/13 [soll herauskommen: 9,2] zu rechnen.
01.
>set /a 1200/13 
02.
92 
03.
-oder- 
04.
>set /a 12000/13 
05.
923
...dann hast Du die "richtigen" Zahlenwerte, aber (noch) kein Komma dazwischen.

Wenn es gar nicht anders geht, dann:
01.
:: BatschDivide.cmd  
02.
@echo off & setlocal enabledelayedexpansion 
03.
REM Para1 zu teilende Zahl 
04.
REM Para2 Divisor 
05.
REM Para3 Anzahl Nachkommastellen 
06.
If [%3]==[] (echo Syntax %0: AuffemStrich UntermStrich NK) & goto :eof 
07.
Set "xNullen=000000000" 
08.
Set /a x=1!xNullen:~-%3! 
09.
 
10.
set /a ProzMalX=%1 * x /%2 
11.
set /a ProzVK=ProzMalX / x 
12.
set /a ProzNK=ProzMalX %% x 
13.
Echo %1 / %2 = %prozVK%,%prozNK% [Genauigkeit %3 Nachkommastellen]
In Aktion:
01.
>e:\test\BatschDivide.cmd 120 13 3 
02.
120 / 13 = 9,230 [Genauigkeit 3 Nachkommastellen] 
03.
 
04.
(=22:37:05  D:\temp=) 
05.
>e:\test\BatschDivide.cmd 121 13 3 
06.
121 / 13 = 9,307 [Genauigkeit 3 Nachkommastellen] 
07.
 
08.
>e:\test\BatschDivide.cmd 121 13 2 
09.
121 / 13 = 9,30 [Genauigkeit 2 Nachkommastellen]
[is' aber alles Unsinn eigentlich.... Rechnen mit Nachkommastellen is'nich im Batch.]

Grüße
Biber

[Edit] P.S. @bastla: FOR-Anweisungen kann ich auch...
01.
>for /f "tokens=5" %i in ('e:\test\BatschDivide.cmd 121 13 2') do @echo Ergebnis: %i 
02.
Ergebnis: 9,30
[/Edit]
Bitte warten ..
Mitglied: Biber
20.02.2008 um 23:06 Uhr
Nachtrag.
bastlas Parameterübergabe (mit 2 Parametern) ist in der Tat etwas weniger holprig.

Also dann:
01.
:: BatschDivide.cmd  
02.
@echo off & setlocal enabledelayedexpansion 
03.
REM Para1 Quotient zweier ganzzahlen zB 130/12 
04.
REM Para2 Anzahl Nachkommastellen 
05.
If [%2]==[] (echo Syntax %0: Quotient NK) & goto :eof 
06.
Set "xNullen=000000000" 
07.
Set /a x=1!xNullen:~-%2! 
08.
 
09.
set /a ProzMalX=x*%1 
10.
set /a ProzVK=ProzMalX / x 
11.
set /a ProzNK=ProzMalX %% x 
12.
Echo %1 = %prozVK%,%prozNK% [Genauigkeit %2 Nachkommastellen]
Demo:
01.
>e:\test\BatschDivide.cmd 121/13 2 
02.
121/13 = 9,30 [Genauigkeit 2 Nachkommastellen] 
03.
 
04.
>e:\test\BatschDivide.cmd 121/13 3 
05.
121/13 = 9,307 [Genauigkeit 3 Nachkommastellen] 
06.
 
07.
>e:\test\BatschDivide.cmd 121/13 4 
08.
121/13 = 9,3076 [Genauigkeit 4 Nachkommastellen]
Grüße
Biber
Bitte warten ..
Mitglied: miniversum
21.02.2008 um 13:45 Uhr
Warum nicht einfach so:
set /a vk=120/13
set /a nk=120%13
echo vk,nk
Bitte warten ..
Mitglied: Biber
21.02.2008 um 19:36 Uhr
Moin miniversum,
Warum nicht einfach so:
Hmmm .... weil es nicht stimmt? Weil es doch sowieso im Batch nicht geht?
Probiere es mit den Werten 101/25 oder 100/34 ...

Aber gut, auch ich hatte in meinem Schnipsel noch einen Fehler drin:
01.
:: BatschDivide.cmd v03 
02.
@echo off & setlocal enabledelayedexpansion 
03.
REM Para1 Quotient zweier ganzzahlen zB 130/12 
04.
REM Para2 Anzahl Nachkommastellen 
05.
If [%2]==[] (echo Syntax %0: Quotient NK) & goto :eof 
06.
Set "xNullen=000000000" 
07.
Set /a x=1!xNullen:~-%2! 
08.
 
09.
set /a ProzMalX=x*%1 
10.
set /a ProzVK=ProzMalX / x 
11.
REM ## BUG in V02 set /a ProzNK=ProzMalX %% x        ###fixed in next line 
12.
set ProzNK=!ProzMalX:~-%2! 
13.
Echo %1 = %prozVK%,%prozNK% [Genauigkeit %2 Nachkommastellen]
Problem. wenn die erste(n) Nachkommastellen mit "0" beginnen, wird diese "0" einfach weggeworfen.

Beispiel:
01.
>e:\test\BatschDivide_V2.cmd 101/25 2 
02.
101/25 = 4,4 [Genauigkeit 2 Nachkommastellen] 
03.
#### hier im alten code "4,4" statt "4,04" ### 
04.
>e:\test\BatschDivide.cmd 101/25 2 
05.
101/25 = 4,04 [Genauigkeit 2 Nachkommastellen] 
06.
## bereinigter Schnipsel.
Aber, wie mehrfach geschrieben, es geht doch gar nicht im Batch.

Das nächste Problem wäre, dass ja auch nicht gerundet werden würde, sondern abgeschnitten.

Von daher gilt (wie bei Datumsberechnungen) entweder VBS o.ä. nehmen oder genau wissen, wo die Batch-Minen liegen.

Grüße
Biber
Bitte warten ..
Mitglied: Biber
03.03.2008 um 06:48 Uhr
Moin Nowologix,

liest Du noch mit? Gib doch bitte mal Feedback.

Danke
Biber
Bitte warten ..
Mitglied: Nowologix
03.03.2008 um 15:07 Uhr
ja ^^
also die division funktioniert ja wunderbar...
aber die prozentrechnung...

mh... ich überdenk das ganze nochmal

gibt es keine prozentuale rechenmethode in VBS ?

ich weis vorhin gabs schon eine lösung... die aber hat nicht wirklich treffsichere ergebnisse gebracht
Bitte warten ..
Mitglied: bastla
03.03.2008 um 15:21 Uhr
Hallo Nowologix!

Kannst Du etwas genauer darstellen, wo das Problem liegt?

gibt es keine prozentuale rechenmethode in VBS ?
Was meinst Du damit?

Grüße
bastla
Bitte warten ..
Mitglied: Nowologix
03.03.2008 um 23:06 Uhr
naja ich dachte sowas wie:

"dividiere %zahl1% / %zahl2% schreibe ergebniss in datei" > calc.vbs
start calc.vbs
lese datei aus


das man quasi auf VBS ausweicht und das ganze parallel zum programm rechnen lässt...
Bitte warten ..
Mitglied: bastla
03.03.2008 um 23:14 Uhr
Hallo Nowologix!

Damit hast Du recht gut zusammengefasst, was mein im allerersten Kommentar oben geposteter Ansatz so macht (außer, dass die "calc.vbs" bei mir "Rechne.vbs" heißt ) ...

Grüße
bastla
Bitte warten ..
Mitglied: Biber
04.03.2008 um 08:02 Uhr
Moin Nowologix,

auch ich bekomme hier langsam große Kinderaugen.... kannst Du bitte Deine (jetzige) Frage oder Deine Gedankengänge noch mal neu formulieren?
Ich kann momentan das Problem nicht so richtig greifen...

Grüße
Biber
Bitte warten ..
Mitglied: Nowologix
04.03.2008 um 15:03 Uhr
Ok also

Ich will: ^^

set /a answer=%zahl1% / 100 * %zahl2%

Der Dreisatz ist nicht das problem... genausowenig wie die multiplikation.
Aber mir scheint es so als würde der CMD zum rechnen nur ein Integer und kein Real oder anderes
zur verfügung stehen. Bei rechnungen wie 101 / 3 kommt eben nicht 33,66, sondern auschließlich "33" heraus. Würde man der CMD einen buffer zuweisen der eine Gleitkommazahl zulässt wärde das ganze problem gelöst...

naja da das anscheinend nicht möglich ist, habe ich überlegt das ganze mit einem visual basic script z berechnen.

Will heißen die rechnung wird eine eine VBS datei ausgegeben, ausgerechnet und wider zurück gegeben.
Eben als z.B. 33,66
nur scheint es komplikationen mit den kommata zu geben bzw. mit der kommasetzung




PS: Vielen dank für die mühe =) tut mir leid das ich in letzter zeit sehr kurz angebunden bin, daher wenig zeit zum antworten finde
Bitte warten ..
Mitglied: miniversum
04.03.2008 um 15:34 Uhr
Mach ein Punkt statt komma.
"," -> "."
Bitte warten ..
Mitglied: Biber
04.03.2008 um 15:48 Uhr
.... hmmm, Nowologix,

aber verstanden habe ich jetzt noch nicht ganz, wieso dann mein Schnipsel nicht ausreicht..
01.
(=15:48:48  D:\temp=) 
02.
>e:\test\BatschDivide.cmd 101/3 2 
03.
101/3 = 33,66 [Genauigkeit 2 Nachkommastellen]
Grüße
Biber
Bitte warten ..
Mitglied: bastla
04.03.2008 um 17:14 Uhr
... und
01.
@echo off & setlocal 
02.
set Zahl1=101 
03.
set Zahl2=3 
04.
set Stellen=2 
05.
 
06.
set R=%temp%\Rechne.vbs 
07.
echo Set a=WScript.Arguments:WScript.Echo FormatNumber(Eval(a(0)),a(1))>%R% 
08.
for /f %%i in ('cscript //nologo %R% "%Zahl1%/%Zahl2%" %Stellen%') do set Ergebnis=%%i 
09.
echo %Ergebnis%
liefert bei mir ein (korrekt gerundetes) Ergebnis von "33,67".

Um auch noch das von miniversum angesprochene Problem "Komma vs Punkt" (das allerdings in Nowologix Beispielen noch kein Kriterium war) zu entschärfen, noch folgende Variante:
01.
@echo off & setlocal 
02.
set Zahl1=101,3 
03.
set Zahl2=3 
04.
set Stellen=2 
05.
 
06.
set R=%temp%\Rechne.vbs 
07.
echo Set a=WScript.Arguments:WScript.Echo FormatNumber(Eval(Replace(a(0),",",".")),a(1))>%R% 
08.
for /f %%i in ('cscript //nologo %R% "%Zahl1%/%Zahl2%" %Stellen%') do set Ergebnis=%%i 
09.
echo %Ergebnis%
Grüße
bastla
Bitte warten ..
Mitglied: shcshc
15.06.2011 um 10:25 Uhr
Hallo bastla,

wie müsste man das vbs-script abändern, damit als Ergebnis 1068 statt 1.068 erscheint?


Herzlichen Dank,
SHC
Bitte warten ..
Mitglied: bastla
15.06.2011 um 12:44 Uhr
Hallo shcshc!

Verwende folgende Zeile 7:
echo Set a=WScript.Arguments:WScript.Echo FormatNumber(Eval(Replace(a(0),",",".")),a(1),,,0)>%R%
Grüße
bastla
Bitte warten ..
Mitglied: shcshc
15.06.2011 um 19:19 Uhr
Hallo bastla,

Vielen Dank für die schnelle Antwort!!

SHC
Bitte warten ..
Mitglied: mycroftone
15.12.2011 um 18:33 Uhr
Hallo Biber

Deine Batchdatei funktioniert glaub ich immer noch nicht richtig.

Wenn ich die mit

>e:\test\BatschDivide_V3.cmd 23/1223 6

Aufrufe kommt als Ergebniss 0,18806 heraus.

Das richtig Ergebniss ist aber 0,018806 weißt du wo da der Hacken liegt ?
Bitte warten ..
Mitglied: bastla
15.12.2011 um 19:32 Uhr
Hallo mycroftone!

Füge vor Zeile 12 noch ein:
set "ProzMalX=%xNullen%%ProzMalX%"
Grüße
bastla

P.S.: Nicht, dass ich darauf herumhacken möchte, aber
wo da der Hacken liegt ?
hätte ich mit einem Zeichen (und ich meine nicht das Leerzeichen vor "?") weniger geschrieben ...
Bitte warten ..
Mitglied: mycroftone
15.12.2011 um 20:36 Uhr
Hallo Bastla

Ja das Problem ist gelößt.

MIt
01.
 
02.
:: BatschDivide.cmd v03 
03.
@echo off & setlocal enabledelayedexpansion 
04.
REM Para1 Quotient zweier ganzzahlen zB 130/12 
05.
REM Para2 Anzahl Nachkommastellen 
06.
If [%2]==[] (echo Syntax %0: Quotient NK) & goto :eof 
07.
 
08.
Set "xNullen=000000000" 
09.
Set /a x=1!xNullen:~-%2! 
10.
 
11.
set /a ProzMalX=x*%1 
12.
set /a ProzVK=ProzMalX / x 
13.
 
14.
set "ProzMalX=%xNullen%%ProzMalX%" 
15.
set ProzNK=!ProzMalX:~-%2! 
16.
 
17.
Echo %1 = %prozVK%,%prozNK% [Genauigkeit %2 Nachkommastellen]

Ergibt
01.
>e:\test\BatschDivide_V3.cmd 23/1223 6 
02.
23/1223 = 0,018806 [Genauigkeit 6 Nachkommastellen]
Auch
01.
>e:\test\BatschDivide_V3.cmd  2224/1223 6 
02.
2224/1223 = -1,693350 [Genauigkeit 6 Nachkommastellen]
Bring das richtig Ergebnis

Aber
01.
>e:\test\BatschDivide_V3.cmd  22123/1223 6 
02.
22123/1223 = 0,529978 [Genauigkeit 6 Nachkommastellen]
Bringt 0,529978 aus und nicht 18,089125

Also sehr selltsam.
Bitte warten ..
Mitglied: bastla
15.12.2011 um 20:54 Uhr
Hallo mycroftone!

Hatte Biber weiter oben erwähnt, dass das Ganze in Batch eigentlich nicht geht?

Da der Zahlenbereich für arithmetische Operationen nur von -2147483648 bis 2147483647 reicht, sind auch der Hilfkonstruktion "multiplizieren wir zwischendurch eben mal kurz mit 1000000" Grenzen gesetzt (für 4 Nachkommastellen ginge es sich noch aus) ...

Grüße
bastla
Bitte warten ..
Mitglied: mycroftone
15.12.2011 um 21:20 Uhr
Hallo Bastel

Danke

So was ähnliches habe ich mir schon gedacht.

01.
>e:\test\BatschDivide_V3.cmd   22123/1223 4 
02.
22123/1223 = 18,0891 [Genauigkeit 4 Nachkommastellen]
funktioniert.

Schönen abend noch.
Bitte warten ..
Mitglied: Biber
15.12.2011 um 21:24 Uhr
Moin mycroftone,

ergänzend zu bastla nur noch ein weiteres Indiz für das "geht eigentlich gar nicht mit Batch"

C:\Temp>set /a 2212300/1223 
1808 
C:\Temp>set /a 22123000/1223 
18089 
C:\Temp>set /a 221230000/1223 
180891 
C:\Temp>set /a 2212300000/1223 
-1702916
-> diese ganze Set /a-Arie ist insgesamt so etwas von buggy hingewurschtelt, dass ich sie wirklich nur zum Hochzählen meines running gag counters rgc verwende.
Und auch das nur, solange der Wert so klein bleibt, dass er dem korreliert, was sich die Redmonder PraktikantInnen mit ihrer begrenzten Phantasie so vorstellen konnten.

Nimm diesen "Befehlszeileninterpreter" cmd.exe nur so ernst, wie er es verdient.
Ist ein kleines Tool für das Nötigste - aber ich glaube nicht daran, dass Heerscharen von hochbezahlten EntwicklerInnen da seit Jahrzehnten an einer Version 12.0 Premium Delüx rumfeilen.

In B- und C-Movies ist es oft so, dass du mit einer abgelaufenen PayBack-Karte in Sekundenbruchteilen eine Haustür auch ohne Schlüssel öffnen kannst.
Das kann klappen, muss aber nicht.

Im Normalfall nehmen die meisten in solchen Situationen statt einer abgelaufenen PayBack-Karte eine gültige Kreditkarte und rufen einen Schlüsselnotdienst.

Weil die Erfolgsaussichten mit dem richtigen Werkzeug spürbar höher sind.

Grüße
Biber
Bitte warten ..
Mitglied: Markus303
25.06.2015 um 19:30 Uhr
Hi Leute.
Ich bin jetzt nicht gerade der grösste Computerspezialist, aber ich glaube ich habe eine einfache Methode gefunden wie man Zahlen mit Kommastellen Dividieren kann:

z.B. 15/4=3 das gäbe dann die erste Variable= Zahl1
Dann könnt ihr für die erste Kommastelle 15*10=150 Das könnt ihr dann durch die Zahl teilen also 150/4=37
Jetzt könnt ihr 37%10 Dann kommt ihr auf 7 das ist dann die Zweite Variable= Zahl2
dann könnt ihr echo %Zahl1%.%Zahl2%

falls ihr noch die dritte Kommastelle wollt müsst ihr einfach 15*100=1500/4=375%100 =5 =Zahl3

USW..

ich versuche das jetzt noch als CMD programm zu schreiben aber wahrscheinlich ist es dann nicht ganz richtig. Wie gesagt bin noch so gut bin ja auch erst 14 XD
Bitte warten ..
Mitglied: timlg07
19.10.2016 um 19:03 Uhr
Diese Frage ist zwar schon "ziemlich" alt, aber falls jemand so etwas in der Art wissen möchte ist es vllt nicht schlecht ;)
Habe in den tiefen meiner Festplatte noch ein Programm gefunden:

01.
@echo off 
02.
title dividieren 
03.
echo DIVIDIEREN: 
04.
:BEG 
05.
set /p "ui=Aufgabe: " 
06.
:BEGFALSE 
07.
set /p "ch=[R]est/[D]ezimal " 
08.
if %ch%==r goto :Rest 
09.
if %ch%==d goto :Dezi 
10.
echo error 
11.
goto BEGFALSE 
12.
 
13.
:Rest 
14.
for /f "tokens=1,2 delims=/" %%a in ("%ui%") do set a=%%a & set b=%%b 
15.
set /a los=a/b 
16.
set /a los2=a-(los*b) 
17.
echo %los% rest %los2% 
18.
pause >nul 
19.
goto BEG 
20.
 
21.
:Dezi 
22.
for /f "tokens=1,2 delims=/" %%a in ("%ui%") do set a=%%a & set b=%%b 
23.
set /a los=a/b 
24.
set /a los2=a-(los*b) 
25.
set /a losx=los2 
26.
set    erg=%los%, 
27.
set /a count=0 
28.
:LOOP 
29.
set /a count+=1 
30.
if %count%==100 echo schon %count% dezimalstellen berechnet. Fortfahren? [j]/[n] & set /p "ui=" 
31.
if %count%==200 echo schon %count% dezimalstellen berechnet. Fortfahren? [j]/[n] & set /p "ui=" 
32.
if %count%==500 echo schon %count% dezimalstellen berechnet. Fortfahren? [j]/[n] & set /p "ui=" 
33.
if %count%==1000 echo schon %count% dezimalstellen berechnet. Fortfahren? [j]/[n] & set /p "ui=" 
34.
if %count%==5000 echo schon %count% dezimalstellen berechnet. Fortfahren? [j]/[n] & set /p "ui=" 
35.
if %count%==10000 echo schon %count% dezimalstellen berechnet. Fortfahren? [j]/[n] & set /p "ui=" 
36.
if %ui%==n goto ERG  
37.
set /a losxx=(losx*10)/b 
38.
set /a losxxx=(losx*10)-(losxx*b) 
39.
if %losxxx%==0 goto :ERG 
40.
set /a losx=losxxx 
41.
set erg=%erg%%losxx% 
42.
goto :LOOP 
43.
:ERG 
44.
echo %erg% 
45.
pause >nul 
46.
echo. 
47.
goto :BEG
Hatte zwar erst keine Ahnung was ich da mal zusammengeschraubt hatte, aber habs hier mal einfacher formuliert:

01.
@echo off 
02.
set /p "ui=Aufgabe: " 
03.
::mithilfe von for den Nenner vom Zähler trennen; 
04.
for /f "tokens=1,2 delims=/" %%a in ("%ui%") do set a=%%a & set b=%%b 
05.
::den ganzzahligen Wert ausrechnen; 
06.
set /a los=a/b 
07.
::Rest ermitteln; 
08.
set /a losx=a-(los*b) 
09.
set    erg=%los%, 
10.
set /a count=0 
11.
:LOOP 
12.
set /a count+=1 
13.
::folgendes dient zur Abfrage wie viele dezimalstellen ermittelt werden sollen; 
14.
if %count%==100 echo schon %count% dezimalstellen berechnet. Fortfahren? [j]/[n] & set /p "ui=" 
15.
if %count%==200 echo schon %count% dezimalstellen berechnet. Fortfahren? [j]/[n] & set /p "ui=" 
16.
if %count%==500 echo schon %count% dezimalstellen berechnet. Fortfahren? [j]/[n] & set /p "ui=" 
17.
if %count%==1000 echo schon %count% dezimalstellen berechnet. Fortfahren? [j]/[n] & set /p "ui=" 
18.
if %count%==5000 echo schon %count% dezimalstellen berechnet. Fortfahren? [j]/[n] & set /p "ui=" 
19.
if %count%==10000 echo schon %count% dezimalstellen berechnet. & goto ERG 
20.
if %ui%==n goto ERG 
21.
 
22.
::Vorgehen wie beim schriftlichen dividieren; 
23.
set /a losxx=(losx*10)/b 
24.
set /a losxxx=(losx*10)-(losxx*b) 
25.
if %losxxx%==0 goto :ERG 
26.
set /a losx=losxxx 
27.
::kommastelle wird zum ergebnis hinzugefügt; 
28.
set erg=%erg%%losxx% 
29.
goto :LOOP 
30.
 
31.
:ERG 
32.
echo %erg% 
33.
pause >nul
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Kommastellen in Batch
gelöst Frage von Hans87Batch & Shell12 Kommentare

Hallo, ich habe folgendes Problem: ich Frage eine per sqlplus ab die Ausgabe sieht folgendermaßen aus: C:\>set /a WERT2=4335247.73856934 ...

XML
Xml: Werte mit xsl dividieren
gelöst Frage von tester23XML3 Kommentare

Hallo zuammen, nach langer Zeit hab ich wieder mal eine Frage. Ich hoffe jemand kann mit helfen? Ich habe ...

Microsoft Office
Access 2010 Kommastelle wird falsch angezeigt
Frage von tdkcbundiMicrosoft Office

Hallo, ich habe das Problem, dass bei einem neu eingerichteten Windows 7 64bit Rechner das Access 2010 die Nachkommastelle ...

Windows 7
Oracle Instant Client 11.2 Kommastellen in Access fehlen
Frage von QuantenfuxWindows 7

Hallo zusammen, ich habe ein paar Probleme in einer Accessdatenbank bei Kommastellen in Datensätze. Der Oracle Instant Client 11_2 ...

Neue Wissensbeiträge
Tipps & Tricks

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

Tipp von StefanKittel vor 5 StundenTipps & 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 5 StundenSicherheit6 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 6 StundenSicherheit5 Kommentare

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

Sicherheit

Meltdown und Spectre: Die machen uns alle was vor

Information von Frank vor 6 StundenSicherheit12 Kommentare

Aktuell sieht es in den Medien so aus, als hätten die Hersteller wie Intel, Microsoft und Co den aktuellen ...

Heiß diskutierte Inhalte
Windows 10
Netbook erkennt Soundkarte nicht - keinerlei Info zum Hersteller und Modell vom Netbook und Hardware bekannt
Frage von 92943Windows 1031 Kommentare

Guten Tag, meine Schwester reist in einigen Wochen für ein paar Monate ins Ausland und hat sich dafür ein ...

Batch & Shell
Anmeldevorgang für Informatikraum (Schule) unter Windows
gelöst Frage von IngenieursBatch & Shell29 Kommentare

Hey zusammen, ich werde in naher Zukunft den Informatik Raum meiner jetzigen Schule von dem aktuellen Betreiber übernehmen (Vertrag ...

Batch & Shell
AD-Abfrage in Batchdatei und Ergebnis als Variable verarbeiten
gelöst Frage von Winfried-HHBatch & Shell19 Kommentare

Hallo in die Runde! Ich habe eine Ergänzungsfrage zu einem alten Thread von mir. Ausgangslage ist die Batchdatei, die ...

Netzwerkgrundlagen
Welches Modem für VDSL 50000 der T-Com
Frage von Windows10GegnerNetzwerkgrundlagen19 Kommentare

Hallo, ein Kollege von mir will sich VDSL50000 von der T-Com holen, um daran einen Server zu betreiben. Ich ...