Ich habe eine Zeichenfolge wie:
%Vor%Ich möchte nur 55.35 erhalten.
Ich habe es versucht:
%Vor%Ich habe es auch versucht:
%Vor%Gemäß der Dokumentation:
Strings werden höchstwahrscheinlich
0
zurückgeben, obwohl dies von der ganz links Zeichen der Zeichenfolge.
Also, flotval
und (float)
funktionieren anscheinend nur, wenn die Zeichenfolge etwas wie folgt ist:
55.35aAbBcCdDeEfF
... funktioniert aber NICHT, wenn es wie folgt aussieht: aAbBcC55.35dDeEfF
Gibt es eine Möglichkeit, den Float unabhängig von der Position des Texts zu erhalten?
Wenn Sie keine regulären Ausdrücke verwenden möchten, verwenden Sie filter_var :
%Vor%Was Sie haben, kann nicht in einen Float umgewandelt werden, da es aus PHP-Sicht nicht wie ein Float aussieht. Es ist jedoch möglich, den Wert mit Regex zu greifen.
Wenn Sie nicht sicher sind, ob es immer eine Dezimalzahl geben wird. Und Sie versuchen, die Nummer unabhängig von der Position im Text zu bekommen (gemäß Ihrer Frage). Sie könnten verwenden:
%Vor%Welches die numerischen Werte von den folgenden Zeichenfolgen abruft:
%Vor% Erläuterung: Ссылка
Demo: Ссылка
PHP-Demo: Ссылка
Im Grunde sucht es nach Zahlen in der Zeichenfolge. Und optional danach auch nach Dezimalzahlen suchen.
Ändern der @ hek2mgl-Antwort, um sowohl Float- als auch Integer-Zahlen zu erhalten
%Vor%