/ / Typ PHP Przesyłanie ciągu znaków do intergera [zamknięty] - php, casting

Typ PHP Przesyłanie ciągu znaków do intergera [zamknięty] - php, casting

Parsuję plik i wyciągam z niego dane. Jedna z części danych to liczba dziesiętna, na przykład 1,9.

Z jakiegoś powodu, gdy próbowałem zapisać do mojej tabeli MySQL, zapisywane jako 0. Typ pola jest dziesiętny (6,2) w tabeli.

Próbowałem ręcznie przesłać go za pomocą różnych funkcji php, takich jak ...

settype (), (int), (float), (double) itd. Za każdym razem, gdy ją rzucam, ustawiam ją na zero lub boolean. Użyłem gettype, aby to sprawdzić.

Podczas parsowania użyłem trim () i str_replace ()funkcje do usuwania spacji. Dziwne jest to, że używam tej samej metody wyciągania innych wartości / liczb dziesiętnych z tego samego pliku, a php sam sobie radził.

Jakieś pomysły, które mogłyby uniemożliwić mi rzucenie tego jako liczby?

Odpowiedzi:

1 dla odpowiedzi № 1

To właśnie rozwiązało mój problem dla każdego, kto wpadł na tę sytuację. Nie jestem pewien, czy to najlepszy sposób, żeby sobie z tym poradzić, ale zadziałało.

$dim = preg_replace("/[^0-9.]/", "", $dim)