In PHP, ich weiß, wir sollten nicht tun math auf Floats ohne Dinge wie bcmath, aber ist der bloße Akt Casting eine Zeichenfolge zu float destructive?Ist Gießen zu schweben destruktiv?
Werden Ausdrücke wie (float)'5.111' == '5.111'
immer wahr? Oder wird die Besetzung selbst dies in etwas wie 5.1110000000000199837
ändern, wie die Zahl konvertiert wird?
Der Hauptgrund ist, genau wie ich (int)
verwenden, um ganzzahlige Werte in eine Datenbank zu gehen, möchte ich (float)
auf die gleiche Weise verwenden, ohne auf Anführungszeichen und meine Escape-Funktion angewiesen zu sein.
es ist besser, sich auf Zitate wäre. Vor allem, weil Sie keine Floats verwenden müssen, sondern ** dezimal **. Es gibt nichts wirklich Schlechtes in Anführungszeichen und behandelt ALLE Daten auf die gleiche Art und Weise (als Strings). –
Ja, wenn Sie Ihre Zeichenkette in einen Float umwandeln, ändert sich ihr Wert. Die Frage zu google ist: "Warum ist' 0.1' plus '0.2' nicht gleich' 0.3 'in Fließkomma-Arithmetik in allen Programmiersprachen? "Die Antwort ist, weil der Computer nicht genau 0.2 in Software mit Base-2-Binärzahlen darstellen kann. Hier ist ein großes Video, das das Problem erklärt: https://www.youtube .com/watch? v = PZRI1IfStY0 –