suchen nach einem .
Michael W.
- php
0 Michael Keller0 Michael W.0 Bernd0 Sven Rautenberg
Hallo,
wieso kann PHP nicht richtig nach einem "." suchen:
<?php
if (eregi(".", "19")) print "found1<br>";
if (eregi(".", "19.4")) print "found2<br>";
if (eregi(".5", "15")) print "found3<br>";
if (eregi(".5", "19.5")) print "found4<br>";
if (eregi(".8", "17.3")) print "found5<br>";
if (eregi(".7", "17.3")) print "found6<br>";
?>
ausgabe: (http://www.michaelwoelk.de/dual/test.php)
found1
found2
found3
found4
found6
hä?
wie kann ich nach "*.5" suchen bzw. nach ".5"?
MfG
Michael W.
Hallo
der . ist ein Sonderzeichen...
ich würds mal mit if (eregi(".", "19.4")) print "found2<br>";
probieren!
Gruss Michael
der . ist ein Sonderzeichen...
ich würds mal mit if (eregi(".", "19.4")) print "found2<br>";
probieren!
Vielen Dank klappt. mein dual-konverter ist somit fertig:
http://www.michaelwoelk.de/dual/
MfG
Michael W.
der . ist ein Sonderzeichen...
ich würds mal mit if (eregi(".", "19.4")) print "found2<br>";
probieren!Vielen Dank klappt. mein dual-konverter ist somit fertig:
http://www.michaelwoelk.de/dual/MfG
Michael W.
Hallo Michael,
hab Dein 'dual' mal mit Netscape 4.73 getestet.
Bei der Eingabe von 4.5 gab es folgende Fehlermeldung:
Fatal error: Allowed memory size of 8388608 bytes exhausted (tried to allocate 35 bytes) in
/home/pacs/mih01/users/mw01/doms/michaelwoelk.de/subs/www/dual/index.php on line 24
Schau noch mal.
Gruss
Bernd
Moin!
Vielen Dank klappt. mein dual-konverter ist somit fertig:
http://www.michaelwoelk.de/dual/
Nix ist da fertig.
1. Werte größer als 255 werden nicht verarbeitet, es werden nur die niedrigsten 8 Bit ausgegeben - warum nicht mehr?
2. Werte kleiner als 0 führen zu einer sehr bösen Fehlermeldung - wenn du schon keine negativen Zahlenwerte konvertieren willst, solltest du das mindestens abfangen.
3. Ein Umrechnen von dezimalen Kommazahlen in duale Kommazahlen wäre auch mal ganz nett.
- Sven Rautenberg
hey,
Nix ist da fertig.
tschuldigung.
- Werte größer als 255 werden nicht verarbeitet, es werden nur die niedrigsten 8 Bit ausgegeben - warum nicht mehr?
ja eben nur 8bit im positiven berreich. 1 - 127!
- Werte kleiner als 0 führen zu einer sehr bösen Fehlermeldung - wenn du schon keine negativen Zahlenwerte konvertieren willst, solltest du das mindestens abfangen.
ja hab ich halt noch nicht eingebaut, da es ja eigentlich zur eigenzwecken gedacht ist und nur zur kontrolle gedacht ist. wer gibt schon 0 ein wenn er weiss das da 0000 0000 raus kommt ?
- Ein Umrechnen von dezimalen Kommazahlen in duale Kommazahlen wäre auch mal ganz nett.
jo das hammer noch garnet gelernt!
es funktionieren alle positiven geraden zahlen von 1 - 127!
MfG
Michael W.
Moin!
hey,
Nix ist da fertig.
tschuldigung.
- Werte größer als 255 werden nicht verarbeitet, es werden nur die niedrigsten 8 Bit ausgegeben - warum nicht mehr?
ja eben nur 8bit im positiven berreich. 1 - 127!
Dumm nur, dass 8 Bit von 0-255 gehen, nicht von 1-127.
- Werte kleiner als 0 führen zu einer sehr bösen Fehlermeldung - wenn du schon keine negativen Zahlenwerte konvertieren willst, solltest du das mindestens abfangen.
ja hab ich halt noch nicht eingebaut, da es ja eigentlich zur eigenzwecken gedacht ist und nur zur kontrolle gedacht ist. wer gibt schon 0 ein wenn er weiss das da 0000 0000 raus kommt ?
Wer gibt schon 1 ein, wenn er weiß, dass da 0000 0001 raus kommt? Wer gibt schon 127 ein, wenn er weiß, dass da 0111 1111 raus kommt? Das ist alles keine Entschuldigung.
Auch wenn man Textzeichen eingibt, kommt die Fehlermeldung. Und sie läßt darauf schließen, dass dein Code keinerlei Eingabeprüfung macht, sondern einfach mit dem weiterrechnet, was der Benutzer eingibt.
Außerdem will ich dich ja nicht unbedingt entmutigen, aber die Ausgabe einer Integer-Zahl im Binärformat kriegt man ganz prima mit sprintf() hin:
$zahl = 65536;
echo sprintf("%032b", $zahl);
Gibt die 32 Bit der Zahl aus. Klappt auch mit negativen Zahlen. Nur Kommazahlen gehen nicht (was schade ist).
- Sven Rautenberg
Dumm nur, dass 8 Bit von 0-255 gehen, nicht von 1-127.
und was war das noch mal mit 127?
Wer gibt schon 1 ein, wenn er weiß, dass da 0000 0001 raus kommt? Wer gibt schon 127 ein, wenn er weiß, dass da 0111 1111 raus kommt? Das ist alles keine Entschuldigung.
doch weil ich weiss nicht auswendig was zb. 45 oder 78 ist.
Ausserdem war das nur ne spaß-aktion.
Auch wenn man Textzeichen eingibt, kommt die Fehlermeldung. Und sie läßt darauf schließen, dass dein Code keinerlei Eingabeprüfung macht, sondern einfach mit dem weiterrechnet, was der Benutzer eingibt.
so ist es. ich hab eben einfach noch nicht die mühe gemacht eine eingabe prüfung zu mache die ja ganz simpel einzubauen ist:
if ($zahl <= '127' && $zahl >= '1')
{
//ok
}
Außerdem will ich dich ja nicht unbedingt entmutigen, aber die Ausgabe einer Integer-Zahl im Binärformat kriegt man ganz prima mit sprintf() hin:
wieso soll mich ne funktion entmutingen, wenn ich weiss das ich das selber auch hin bekommen hab, auch wenn es nur 8 bit sind.
$zahl = 65536;
echo sprintf("%032b", $zahl);
habs mal getestet http://www.michaelwoelk.de/dual/index2.php
schöne funktion, aber ist ja eher was für schreibfaule.
MfG
Mcihael W.
P.S: ich werde mir auch jetzt nicht die mühe machen die eingabeprüfung einzubauen, weil ich jetzt Pro7 guck!