Zoll in mm konvertieren

PHP, Ajax, CSS, HTML, Javascript
Eben für die wirklich Harten, die alles selber machen.
Antworten
Holger
Beiträge: 2253
Registriert: Mi 17.Mär, 2004 18:09

Zoll in mm konvertieren

Beitrag von Holger »

Ich habe eine formel, die mir Zoll in mm und umgekehrt konvertiert. Essentiell für unsere Seite.

Code: Alles auswählen

<form>
<input type="hidden" name="M_expr"
            value="(Math.round(10000*(25.4*N.value)))/10000"><input
            type="hidden" name="N_expr"
            value="(Math.round(10000*(.03937* M.value)))/10000">
<p><b>TUM/MM konverterare</b><br>
<font size="-2">Använd PUNKT som decimaltecken!<br>
Mata in ett värde och klicka i det andra fältet för beräkning.</font>
<p><b>tum:</b> <input
            type="text" size="6" maxlength="6" name="N"
            onchange="eval('M.value = ' + this.form.M_expr.value)"></b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<b>mm:</b> <input type="text" size="6"
            maxlength="6" name="M"
            onchange="eval('N.value = ' + this.form.N_expr.value)"><input type="reset" name="reset"
            value="reset">
<br>
</form>
Nuuuuuurrrrrr ... Zoll schreibt man auch mal "1 1/8". Wie könnte ich das abfangen?

Gruss
Holger
Benutzeravatar
oxpus
Administrator
Beiträge: 28737
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Oha, dann müsste man mit regulären Ausdrücken die Eingabe erst einmal zerflücken und in eine verwendbare Zahl konvertieren.
Da muss ich passen...

*reguläre-ausdrücke-sind-gehirn-knoten-erzeuger*
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Max
Beiträge: 628
Registriert: So 23.Jan, 2005 09:54

Beitrag von Max »

Ich würde 1 1/8 so abfragen:

Zwei Felder; eins für die ganzen Werte und eins für die Brüche.
Feld A = ganze
Feld B = Bruch

A wird mit 1 gefüllt und B mit 8
Dann hat man zwei Werte, die man nachher verbindet.
Z.B. $zoll= $A + 1/$B

Dann sollte man eigentlich 1,125 in $zoll stehen haben.

Ist aber auch nur eine Idee und setzt voraus, dass die Leute dann die Felde korrekt füllen.



Gruß Max
Holger
Beiträge: 2253
Registriert: Mi 17.Mär, 2004 18:09

Beitrag von Holger »

Naja, man müsste für die 1 auch eine Variable haben ... es kann ja auch 1 2/7 Zoll sein. Aber die Idee ist doch gut!
Jetzt muss ich das "nur noch" umsetzen ...
Real men don’t back up, they learn data recovery. ;-)
http://www.mysqldumper.de
http://www.mysqldumper.se
Max
Beiträge: 628
Registriert: So 23.Jan, 2005 09:54

Beitrag von Max »

[quote="Holger";p="85000"]Naja, man müsste für die 1 auch eine Variable haben ... es kann ja auch 1 2/7 Zoll sein.[/quote]

ich wusste nicht, dass es auch Zollangaben mit 2/7 gibt (habe ich bei Werkzeugen nie gesehen).

Dann eben 3 Felder, wovon eins dann für den oberen Wert im Bruch steht (und idealerweise standardmäßig mit einer 1 gefüllt ist)

Feld A = ganze ( hier mal 3)

Feld A_1 = oberer Wert ( hier mal 2)
Feld B = Bruch (hier mal 7)

A wird mit 3 gefüllt, A_1 mit 2 und B mit 7
Dann hat man drei Werte, die man nachher verbindet.
Z.B. $zoll= $A + $A_1/$B

Dann sollte man eigentlich 3,2857 in $zoll stehen haben.
Zuletzt geändert von Max am Fr 22.Feb, 2008 08:55, insgesamt 1-mal geändert.
Holger
Beiträge: 2253
Registriert: Mi 17.Mär, 2004 18:09

Beitrag von Holger »

2/7 war nur ein Beispiel ... es gibt doch auch sicher andere Angaben als 1/X oder? Wenn nicht: das würde das Ganze ja vereinfachen!
Real men don’t back up, they learn data recovery. ;-)
http://www.mysqldumper.de
http://www.mysqldumper.se
Max
Beiträge: 628
Registriert: So 23.Jan, 2005 09:54

Beitrag von Max »

[quote="Holger";p="85002"]2/7 war nur ein Beispiel ... es gibt doch auch sicher andere Angaben als 1/X oder? Wenn nicht: das würde das Ganze ja vereinfachen![/quote]

Ich weiß es nicht, mir ist noch nie ein anderer Bruch als 1/x aufgefallen.

Aber ich werde versuchen, am Wochenende mal daran zu denken,meinen Schwager zu fragen.
Der ist hier in D Entwicklungsingenieur im Maschinenbau, die Produktion findet in Ohio statt, daher sind die ständig am Umrechnen von metrisch zu inch. Also schätze ich, dass er das auch weiß.

Wenn es nur 1/x Angaben gibt, würde das insofern einfacher, dass die Benutzer weniger Fehler bei der Eingabe der Werte machen können.
Die Felder wären das kleinere Problem - ob nun zwei oder drei Felder angelegt werden, ist schnurz.



Gruß Max
Holger
Beiträge: 2253
Registriert: Mi 17.Mär, 2004 18:09

Beitrag von Holger »

Perfekt! Das wäre sehr intressant!
Real men don’t back up, they learn data recovery. ;-)
http://www.mysqldumper.de
http://www.mysqldumper.se
Benutzeravatar
cback
Beiträge: 1391
Registriert: Sa 15.Mai, 2004 15:32
Wohnort: Saarland
Kontaktdaten:

Beitrag von cback »

Hätte noch ne Idee
Etwas seltsam gelöst aber kam mir grad in den Sinn:

Trenne die Eingabe an / auf mit $werte = explode('/', $eingabe);

wenn $werte[1] leer ist (empty) dann weiter wie bisher
wenn $werte[1] nicht leer ist nimmste die Zahl von Werte 1 und mit substr http://www.php.net/substr die letzte Zahl die in $werte[0] steht (ganz hinten) und als rest Rechnungswert dann die zahlen die sonst noch vorne in $werte[0] stehen. Also einmal nur die letzte Ziffer und einmal alles außer der letzten Ziffer. substr kann da mit beiden Varianten arbeiten.
Holger
Beiträge: 2253
Registriert: Mi 17.Mär, 2004 18:09

Beitrag von Holger »

Ja, ne, is klar ...
:!:

Habe nichts verstanden.
Aber danke für den Tip!
Benutzeravatar
oxpus
Administrator
Beiträge: 28737
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Ich sags ja: Reguläre Ausdrücke und artverwandte Methoden sind Gehirnzertrümmerer ;)
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Max
Beiträge: 628
Registriert: So 23.Jan, 2005 09:54

Beitrag von Max »

Also.....

Die Zollangaben sind von Natur aus gruselig.


Der erste Wert kann sehr variieren.
Der zweite Wert ist dual basiert, also z.B. 1/2 --> 1/4 --> 1/8 --> 1/16 --> 1/32 usw.
Das kann natürlich auch so aussehen 3/8


Abgesehen davon meinte mein Schwager, dass es Inch/Zoll --> CM und CM--> Inch/Zoll -Umrechner an jeder Ecke gibt. Er würde sich das nicht extra selber programmieren.

Such doch einfach mal im Scriptebereich, ob es das nicht sowieso schon fertig gibt, dann musst Du das halt nur im Forum integrieren.



Gruß Max
Benutzeravatar
KeineAhnung
Beiträge: 349
Registriert: Di 29.Mai, 2007 17:35
Wohnort: NRW
Kontaktdaten:

Beitrag von KeineAhnung »

ich weis es ist smalltalk, aber so blühend siehts um die scripte auch nicht aus:

http://www.google.de/search?q=zoll+in+mm+konverter+php :D
Holger
Beiträge: 2253
Registriert: Mi 17.Mär, 2004 18:09

Beitrag von Holger »

Doch, es gibt eine MENGE davon!
In unserem forum wird jedoch in fast jedem dritten Beitrag über diverse mm/Zoll-Angaben gesprochen. Deshalb habe ich einen Button eingebaut, der ein Fenster mit einem Konverter öffnet. Das kam sehr gut an.

Die Konverter im Netz kranken allesamt an der Eingabe "1 1/8", sie wollen alle Dezimale Eingaben haben.


Ahhh! Hier gibt es einen:
http://www.peters1.dk/webtools/conversion.php?sprog=de
Bei Inch dreht der Kalkulator auch durch bei "1 1/8".
Aber bei feet/inches kann man eingeben 1 und 1/8 in den Feldern, dann macht er aus 1/8 0.125.
Real men don’t back up, they learn data recovery. ;-)
http://www.mysqldumper.de
http://www.mysqldumper.se
Benutzeravatar
oxpus
Administrator
Beiträge: 28737
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Aber bei feet/inches kann man eingeben 1 und 1/8 in den Feldern, dann macht er aus 1/8 0.125.
Ja, und das über gehirnwindungsschädigende reguläre Ausdrücke.
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Holger
Beiträge: 2253
Registriert: Mi 17.Mär, 2004 18:09

Beitrag von Holger »

Ach kom! SO schädlich ist es bestimmt nicht! :-D
Real men don’t back up, they learn data recovery. ;-)
http://www.mysqldumper.de
http://www.mysqldumper.se
Benutzeravatar
oxpus
Administrator
Beiträge: 28737
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Dann schau Dir mal die bbcodes.php an oder noch besser diesen regulären Ausdruck aus dem phpBB 3 BETA irgendwas für die Feststellung der IP aus dem IPv6 Protokoll:

Code: Alles auswählen

			$ipv6 = '#^(?:(?:(?:[\dA-F]{1,4}:){6}(?:[\dA-F]{1,4}:[\dA-F]{1,4}|(?:(?:\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.){3}(?:\d{1,2}|1\d\d|2[0-4]\d|25[0-5])))|(?:::(?:[\dA-F]{1,4}:){5}(?:[\dA-F]{1,4}:[\dA-F]{1,4}|(?:(?:\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.){3}(?:\d{1,2}|1\d\d|2[0-4]\d|25[0-5])))|(?:(?:[\dA-F]{1,4}:):(?:[\dA-F]{1,4}:){4}(?:[\dA-F]{1,4}:[\dA-F]{1,4}|(?:(?:\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.){3}(?:\d{1,2}|1\d\d|2[0-4]\d|25[0-5])))|(?:(?:[\dA-F]{1,4}:){1,2}:(?:[\dA-F]{1,4}:){3}(?:[\dA-F]{1,4}:[\dA-F]{1,4}|(?:(?:\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.){3}(?:\d{1,2}|1\d\d|2[0-4]\d|25[0-5])))|(?:(?:[\dA-F]{1,4}:){1,3}:(?:[\dA-F]{1,4}:){2}(?:[\dA-F]{1,4}:[\dA-F]{1,4}|(?:(?:\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.){3}(?:\d{1,2}|1\d\d|2[0-4]\d|25[0-5])))|(?:(?:[\dA-F]{1,4}:){1,4}:(?:[\dA-F]{1,4}:)(?:[\dA-F]{1,4}:[\dA-F]{1,4}|(?:(?:\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.){3}(?:\d{1,2}|1\d\d|2[0-4]\d|25[0-5])))|(?:(?:[\dA-F]{1,4}:){1,5}:(?:[\dA-F]{1,4}:[\dA-F]{1,4}|(?:(?:\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.){3}(?:\d{1,2}|1\d\d|2[0-4]\d|25[0-5])))|(?:(?:[\dA-F]{1,4}:){1,6}:[\dA-F]{1,4})|(?:(?:[\dA-F]{1,4}:){1,7}:))$#i';
Und das bekomm man auseinander ;)
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Holger
Beiträge: 2253
Registriert: Mi 17.Mär, 2004 18:09

Beitrag von Holger »

Na, das ist doch eine Kleinigkeit! Äh. Warte mal ... mümmelmümmelmümmel ... naja, soooo auf die Schnelle kriege ich das auch nicht hin ...

LOL!!!
Real men don’t back up, they learn data recovery. ;-)
http://www.mysqldumper.de
http://www.mysqldumper.se
Benutzeravatar
oxpus
Administrator
Beiträge: 28737
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Nech ;)
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Antworten