• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

[GELÖST] Javascript Matherechnung mit einer Servertemplatevariable

Wenn die "andere Sprache" die gleiche Repräsentation der Fließkommazahlen (IEEE 754) hat (z.B. Java), hat es die gleichen "Umrechnungsprobleme". Manche exakten Dezimalzahlen (z.B. 0.3) kann man einfach nicht in einer endlichen Binärzahl speichern:
Code:
alert(0.3.toFixed(20));
 
Ich wüsste leider nicht, wie ich das Serverseitig lösen kann...

Wenn jemand 'n Tipp geben kann, könnte ich es versuchen.
 
Welche Adresse im Browser rufst du denn auf? Dahinter steckt das Script. Das mal per FTP runter laden und dann mal reinschauen, wo diese Variable vorkommt.
 
Welche Adresse im Browser rufst du denn auf? Dahinter steckt das Script. Das mal per FTP runter laden und dann mal reinschauen, wo diese Variable vorkommt.


Ist eine ganze Software, konnte da nicht durchblicken.
Die software includiert mithilfe von tmpl_var in in die html file.

Mein script sieht mittlerweile so aus:

Code:
<div style="background-color: #231828; width: 210px;height:50px;">
<table><tr>

<th colspan="2"><p style="color: #ffffff;">Download duration</p></th></tr>
<tr>
   <th><p style="color: #ffffff;">Minutes</p></th>
   <th><div id="filesize"></div></th>
</tr>
<script>
 var erg = parseInt('<TMPL_VAR fsize>')/15;
 document.getElementById('filesize').innerHTML = erg.toFixed(2);
</script>

  </table>  </div>

Über css konnte ich es nicht machen...

Dank der tmpl_var fsize habe ich die Filegröße in MB/KB/GB. Wenn ich nun eine absolute DL Geschwindigkeit in Kbytes/sekunde eingebe
('<TMPL_VAR fsize>')/15; kommt selbst bei 10 kb 2 Minute Downloaddauer.

Wie wäre die richtige Formel um für kb, mb und gb die Downloadzeit mit 15kbytes/sekunde in Minuten zu berechnen?
 
Zuletzt bearbeitet:
Dank der tmpl_var fsize habe ich die Filegröße in MB/KB/GB
Was heißt das jetzt genau? Ist fsize jetzt in MB, KB oder GB?

Wenn ich nun eine absolute DL Geschwindigkeit in Kbytes/sekunde eingebe
('<TMPL_VAR fsize>')/15; kommt selbst bei 10 kb 2 Minute Downloaddauer.
Schau' doch einfach in den Quelltext, der beim Browser ankommt - dann wirst du schon sehen, woran das liegt. Der Templatecode hilft da überhaupt nicht weiter.


PS: Du musst doch wissen, mit welchem System du da arbeitest... also das TMPL_VAR sieht stark nach HTML::Template - search.cpan.org aus - also hast du Perl.
 
Ist fsize jetzt in MB, KB oder GB?

Kommt auf die Hochgeladene Datei an.
Wenn ich eine 500mb file hochlade, wird durch das tmpl_var fsize 500mb angezeigt.
Das läuft alles dynamisch.

PS: Du musst doch wissen, mit welchem System du da arbeitest... also das TMPL_VAR sieht stark nach HTML::Template - search.cpan.org aus - also hast du Perl

Ja, es ist perl

Schau' doch einfach in den Quelltext, der beim Browser ankommt - dann wirst du schon sehen, woran das liegt.

Das weiß ich ja schon... die Matheformel ist falsch...
 
Und bei einer 500b Datei? Und bei 500kb? Und bei 500Gb?

Habe mich geirrt, sorry. 1byte wird als 1 byte angezeigt. 500b daher auch 500b und so weiter.


Aus dem Quelltext:


Code:
<th><p style="color: #ffffff;">Minutes</p></th>
<th><div id="filesize"></div></th>
</tr>
<script>var erg=parseInt('19 KB')/10;document.getElementById('filesize').innerHTML=erg.toFixed(1);</script>

Ich wollte einfach nur die geschätzte Downloadzeit in Minuten für die fsize anzeigen lassen. Die fsize wird dynamisch abgerufen und variiert je nach dem
was man hochgeladen hat. Z.b XX B/KB/MB/GB Dauer des Downloads mit 50 Kbytes die Sekunde.
 
Dann gibt es doch vielleicht ein /cgi-bin Verzeichnis auf dem Server wo vielleicht eine Datei mit der Extension .pl drin liegt, oder?

Habe das einer perl Datei gefunden...
Code:
$file->{fsize} = $ses->makeFileSize($file->{file_size});
Sind sehr viele Dateien. Konnte mit dem Stichwort fsize nur das da oben finden...

Deswegen habe ich das versucht über js zu lösen...
 
Ich wollte einfach nur die geschätzte Downloadzeit in Minuten für die fsize anzeigen lassen. Die fsize wird dynamisch abgerufen und variiert je nach dem
was man hochgeladen hat. Z.b XX B/KB/MB/GB Dauer des Downloads mit 50 Kbytes die Sekunde.
Irgendwie verwirrst du mit deinen Aussagen. Jetzt schreibst du etwas von 50 kBytes die Sekunde aber dein letzter Beispielcode rechnet mit 10 kBytes die Sekunde. Dann erzählst du etwas von 15 kBytes die Sekunde... Und jetzt willst du Minutenangaben ausgeben, jedoch ist nirgends eine Sekunden in Minuten Umrechnung zu erkennen...

Also was willst du denn jetzt genau? Das wird doch als mehr confused statt klarer Aussagen...
 
Irgendwie verwirrst du mit deinen Aussagen. Jetzt schreibst du etwas von 50 kBytes die Sekunde aber dein letzter Beispielcode rechnet mit 10 kBytes die Sekunde. Dann erzählst du etwas von 15 kBytes die Sekunde... Und jetzt willst du Minutenangaben ausgeben, jedoch ist nirgends eine Sekunden in Minuten Umrechnung zu erkennen...

Also was willst du denn jetzt genau? Das wird doch als mehr confused statt klarer Aussagen...


Warum soll das verwirrend sein? Durch die tmpl_var fsize hat man die Filegröße. Es gibt eine genaue Downloadgeschwindigkeit in kbytes.
Ich will eine Formel um durch die Filegröße und downloadgeschwindkeit die Downloadzeit zu ermitteln..

Ich wollte einfach nur die geschätzte Downloadzeit in Minuten für die tmpl_var fsize anzeigen lassen. Die fsize wird dynamisch abgerufen und variiert je nach dem
was man hochgeladen hat. Z.b XX B/KB/MB/GB Dauer des Downloads mit z.b 50 Kbytes die Sekunde.
 
Warum soll das verwirrend sein?
Weil du deine Angaben, betreffend der Downloadgeschwindigkeit und des Zeitausgabeformates, änderst.


Durch die tmpl_var fsize hat man die Filegröße.
Okay, das hast du ja auch schon hinreichend ausgeführt.


Es gibt eine genaue Downloadgeschwindigkeit in kbytes.
Und ist diese immer identisch? Wenn ja, dann sag doch mal definitiv welche! 10, 15, 50 (wie du schön in deinem letzten Beitrag zitiert hast) oder sogar eine völlig andere


Ich will eine Formel um durch die Filegröße und downloadgeschwindkeit die Downloadzeit zu ermitteln..
Das ist doch schon fast Grundschulniveau... Hast du schon einmal probiert die Formel mittels Stift und Papier (ja ich weiß ist oldschool) zu ermitteln?
Ist ja genauso, als würde ich hier fragen: Ich schaffe es pro Stunde 3 Äpfel zu essen, Kann mir jemand ne Formel geben, damit ich ausrechnen kann, wieviel Zeit ich theoretisch benötige, um 15 Äpfel gegessen zu haben?
Würde wetten, das jeder, der diese Frage liest schon weiß das es 5 Stunden dauern wird, bevor er einen Gedanken verschwendet hat mir eine Formel zu Posten...
 
Weil du deine Angaben, betreffend der Downloadgeschwindigkeit und des Zeitausgabeformates, änderst.

Wenn es denn eine Formel gibt, sollte es mit jeder x-beliebigen Dlgeschwindigkeit funktionieren, das ist nicht das Problem...

Okay, das hast du ja auch schon hinreichend ausgeführt.

Ja, warum wohl?


Das ist doch schon fast Grundschulniveau... Hast du schon einmal probiert die Formel mittels Stift und Papier (ja ich weiß ist oldschool) zu ermitteln?
Ist ja genauso, als würde ich hier fragen: Ich schaffe es pro Stunde 3 Äpfel zu essen, Kann mir jemand ne Formel geben, damit ich ausrechnen kann, wieviel Zeit ich theoretisch benötige, um 15 Äpfel gegessen zu haben?
Würde wetten, das jeder, der diese Frage liest schon weiß das es 5 Stunden dauern wird, bevor er einen Gedanken verschwendet hat mir eine Formel zu Posten...

Deswegen frage ich, weil ich die Antwort nicht weiß. Genauso wie viele andere hier im Forum.

Wenn du nichts dazu zu beitragen hast oder nicht helfen kannst, tu es doch nicht...
Evtl. ist hier jemand, der es weiß. Oder eine andere Methode kennt.


Grüße
 
Und was war zuerst im Kopf? Das Ergebnis oder die Formel??? ;)

- - - Aktualisiert - - -

Wenn du nichts dazu zu beitragen hast oder nicht helfen kannst, tu es doch nicht...
Der erste Schritt war dafür gedacht dir aufzuzeigen, dass du doch etwas verwirrende Aussagen triffst und auf alle gestellten Fragen antwortest, was du in deinem letzten Beitrag auch wieder nicht getan hast...


Evtl. ist hier jemand, der es weiß.
Julian kennt die Formel :eek:
Julian kennt die Formel :eek:
Julian kennt die Formel :eek:
Julian kennt die Formel :eek:
Julian kennt die Formel :eek:
Julian kennt die Formel :eek:


Ob er sie uns nocheinmal mit deinen Werten niederschreibt???

;) ;) ;)
 
Erhitzte Gemüter zu später Stund.. :)
x-sama, versuch doch bitte mal, dein Problem einfach nochmal anders zu formulieren. Ich glaube nicht, dass du nicht in der Lage bist, die Berechnung nachzuvollziehen. Und falls doch nicht kannst du sie ergooglen. Also scheint mir das Problem nicht an der Formel zu liegen.
Und die anderen Leser - so auch ich - haben den Eindruck, dass du zwischendurch immer mal wieder die Ausgangsbasis oder die Fragestellung änderst. Das ist verwirrend.
 
Ich glaube nicht, dass du nicht in der Lage bist, die Berechnung nachzuvollziehen.
Tststs, immer diese genau-gelesen-werden-müssende, beim-Lesen-unterbrechende doppelte Verneinung... ;)

Ob er sie uns nocheinmal mit deinen Werten niederschreibt???
Ach, da mach ich das doch glatt mal:
@x-sama: Die
ist stellvertretend für die Größe der Datei, die heruntergeladen werden soll. Die
Äpfelvertilgung/h
entspricht der Downloadgeschwindigkeit. Folglich kommt als Ergebnis die benötigte Zeit für den Download heraus. Logischerweise lautet die Formel dann folgendermaßen:
geschätzte Downloadzeit in Minuten = (Dateigröße in KB ÷ (XX kb/s)):60
Und in JS dann entsprechend:
Code:
//Datei: 100MB
var filesize = 100*1024; // in KB
//Geschwindigkeit: 2Mbit/s
var downloadspeed = 2*125; // in KB/s
var duration = (filesize/downloadspeed)/60;
//sinnvoll runden:
var duration = "Geschätzte Downloadzeit: ungefähr " + duration.toFixed(1) + " min.";
 
Ich glaube nicht, dass die Berechnungsformel hier das Problem ist. Das Problem ist, dass JS mit den Einheitenpräfixen nichts anfangen kann: ein 10 byte wird vom parseInt() exakt genauso behandelt wie ein 10 GB - nämlich als 10. Dadurch kommen falsche Werte raus. Sie wie aber da Perl oben aussieht, könnte man ev. mit <TMPL_VAR file_size> die Dateigröße in Byte bekommen. Probier' das mal aus.

Wenn das nicht funktioniert, muss man den String in fsize erst einml parsen umd die Größe in Bytes zu bekommen. Ist nicht wahnsinnig schwierig, aber wenn man es vermeiden kann...
 
Zurück
Oben