Pradinis
Pagalba
Užsisakyk!
- Reklamą
- Hostingą
- El. pašto dėžutę
Užsisakyk!
Įrankiai
Pasidalink
- Visos temos
Trumpas kodas:<?php Kaip manote kokius atsakymus(TRUE ar FALSE) gražins sistema 4 kartus lygindama skaičius: 7.8 > 7.8 ? Jeigu manote kad visus kartus atsakymas bus"false", JŪS KLYSTATE: Štai ką gražina output'as: 1. 7.8 VS 7.8 Atkreipkime dėmesį, kad netgi perCAST'inimas į slankaus kablelio skaičius(real'ieji skaičiai). Dar vienas pavyzdys: floor((0.1+0.7)*10); Kaip atsakymą gražins skaičių 7 ! Nors matematiškai turėtų būti 8. Kadangi realieji slankaus kablelio skaičiai yra kompiuterijoje traktuojami kaip eilutės skleidinys. Pvz. tokiu būdu kompiuteris gali gražinti skaičiaus pi apytikslę reikšmę - ji skleidžią skaičių Teiloro eilute iki tam tikro tikslumo(t.y. VISADA egzistuoja paklaida). Taigi, naudojanti slankaus kablelio skaičius BŪTINA žinoti, kad VISADA egzistuoja paklaida, ir PASKUTINIU skaičiumi pasitikėti nereikėtų. Prie to paties, kas galbūt nežino kas yra CAST'inimas, Slankaus kabelio skaičiai(angl. floating-point numbers), šiek tiek informacijos: Pagal nutylėjimą "String'ai" matematiniuose veiksmuose yra traktuojami kaip: a) (integer) tipo skaičiai, jeigu string eilutėje nėra '.', 'e' arba 'E' simbolių; b) (float) skaičiai, prišingu atveju. Visi galimi kintamųjų/skaičių perdengimai(CAST'ing) PHP kalboje: (int), (integer) - cast to integer MySQL duomenų tipų castinimas: Prie to paties pridėsiu - jeigu norite CAST'inti duomenų tipus MySQL užklausose(nors apskritai CAST'inimas panašus SQL2 standartų kaip ir daugelyje kitų DBVS - MSSQL, Oracle, IBM DB2, Postgre SQL), tai jis vykdomas taip: Užklausoje galima būtų daryti taip: mysql > SELECT 91.2 AS tiksli_apimtis, Užklausos rezultatas būtų: tiksli_apimtis apytiksle_apimtis pilna_biografija dvejetaine_biografija apytiksle_apimtis Visi galimi MYSQL CAST'inimo būdai(MySQL 5.0+): BINARY[(N)] - į dvejetainį formatą(pre-direktyva skirta kompiliatoriui) CHAR[(N)] - į simbolių formatą. DATE - į datos formatą (YYYY-MM-DD) DATETIME - į ilgąjį datos formatą (YYYY-MM-DD HH:II:SS) DECIMAL[(M[,D])] - į dešimtainį formatą SIGNED [INTEGER] - į skaičių aibę (-INF ---> +INF) TIME - į laiko formatą(HH:II:SS / HHH:II:SS (ilgasis laikas)) UNSIGNED [INTEGER] - į teigiamų skaičių aibę ( >= 0) Pastaba: [] - žymi kad parametras neprivalomas. [] simbolių rašyti NEREIKIA Taip pat keletas nuorodų, norintiems pasiskaityti plačiau: Duomenų tipų perliejimas(CASTing) MySQL: http://dev.mysql.com/doc/refman/...tions.html Duomenų tipų perliejimas(CASTing) PHP: http://lt.php.net/manual/en/lang...ggling.php Slankaus kablelio skaičiai: http://php.net/manual/en/languag....float.php PhpFusion-Lt.com © 2010 ozzWANTED | Straipsnio informacijaAutoriusozzWANTED Parašymo data 2010 sausio 20 10:01:07 Komentarų 4 Skaityta 2428 Spausdinti |
|