Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Zamiana textu na liczbę
Forum PHP.pl > Forum > PHP
Homiczek
Witam.
Poszukuje funkcji która zamienia ciąg na liczbę. Potrzebuję tego gdyż mam w formularzu pole textowe input i potrzebuję aby funkcja ucięła mi np ceny. To i tak Mysql obetnie, bo pole w bazie danych jest typu int, ale chcę przed zapisaniem do bazy danych pokazać osobom wpisującym nieprawidłową cenę że robią żle. Np cena 21000 jest ok. Ale jak ktoś wpisze 21 tyś., to w następnym oknie pojawia mi się 21 tyś, a do mysql ląduje 21 a to jest kompletna bzdura. Chciałbym aby w drugim oknie pojawiło mi się również tylko 21, po to żeby osoba wpisująca zobaczyła swój błąd i poprawiła to.
Pozdrawiam
DeyV
wystarczy [php:1:8606f7742e]<?php
$text_liczba = '1234';
$int_liczba = (int) $text_liczba;
?>[/php:1:8606f7742e]
kurtz
nie znam zadnego mechanizmu ktory by to porpawil. pomysl: spradzac czy potencjalna liczba ma wlasciwy format - i jesli nie informowac ze format jest nieprawidlowy. do sprawdzania (roznych formatow) najlepiej uzyc preg_match'a - bedziesz mogl wowczas "w locie" porpawic np "PLN 23 0000", "23,000" etc.

no i niezaleznie konwersja do inta - patrz DeyV


pozdrawiam
DeyV
Przykład zwykłej konwersji : :arrow: http://www.mstudio.nq.pl/php_pl/inne/int_a_b.php

Cytat
Kiedy pierwszym wyrażeniem jest łańcuch znaków, typ zmiennej będzie zależał od drugiego wyrażenia.

[php:1:69234b3453]<?php
$foo = 1 + "10.5"; // $foo jest typu float (11.5)
$foo = 1 + "-1.3e3"; // $foo jest typu float (-1299)
$foo = 1 + "bob-1.3e3"; // $foo jest typu integer (1)
$foo = 1 + "bob3"; // $foo jest typu integer (1)
$foo = 1 + "10 małych świnek"; // $foo jest typu integer (11)
$foo = 1 + "10 malutkich świnek"; // $foo jest typu integer (11)
$foo = "10.0 świnek " + 1; // $foo jest typu integer (11)
$foo = "10.0 świnek " + 1.0; // $foo jest typu float (11)
?>[/php:1:69234b3453]
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.