Navigacija

Vartotojų tinkle

Prisijungusių svečių: 772
Prisijungusių narių: 0
Prisijungusių narių nėra

Registruoti nariai: 25,955
Naujausias narys: Johny

Naujausi straipsniai

Paskutiniai nariai

Johny 2 savaitės
Reikalas 3 savaitės
Jaunelis 9 savaitės
lanis 9 savaitės
And2s10 savaitės
Memento Mori15 savaitės
ozzWANTED16 savaitės
Quwqkibor17 savaitės
asirija21 savaitės
tomeem23 savaitės
weberiz27 savaitės
mRokass29 savaitės
kartoonas30 savaitės
iaescortsmap30 savaitės
grunskiz33 savaitės
Bruksnys33 savaitės
illusion33 savaitės
ordo34 savaitės
Jurgaila35 savaitės
originalcs1635 savaitės

Informacija:


OS: Unknown
Naršyklė: Nežinoma
IP: 18.191.186.219
Naujienų: 529
Straipsnių: 235
Temų: 52,588
Postų: 522,528
Postų pask. parą: 0
Shout'ų pask. parą: 0
P.S.C. pask. parą: 0
Nuorodų kataloge: 13

Lankomumo Statistika

Peržiūrų šiandien: 22

Iš viso peržiūrų: 22948724

Prisijungti

REGISTRUOTIS
Nario vardas

Slaptažodis



Pamiršai slaptažodį?
Paprašyk naujo

Aktyvuoti save

Šaukykla

Jei norite rašyti žinutes, turite prisijungti.

Jaunelis
2024 Lie. 25 11:07:43
Oho vis dar veikia svetainė akinanti šypsen Šimtas metų, matau Šaukykloje nuostalgija. Smagu panaršyt po forumą ir pažiūrėt senas temas šypsosi

And2s
2024 Lie. 17 19:07:04
2008 pirmą kart čia patekau, man buvo 10m ir čia pramokau programavimo.. smagu skaityti senas žinutes, tokia nostalgija akinanti šypsen ačiū Ozz kad saugoji šitą kultūrinį reliktą šypsosi

ozzWANTED
2024 Sau. 17 01:01:00
Desperatiškus komentarus šaukykloje su accountu po mėnesio prasibuvimo, ištryniau. Pasaulis ir taip juodas. Įjungiam šviesą, prašviesės. šypsosi

Majakas
2023 Gru. 10 19:12:39
Negaliu patikėti jog žinutės/pranešimai visi yra nuo 2008 m akinanti šypsen

Žmogus
2023 Rugs. 7 21:09:14
O gal BloodKiller pasijungs?

Šaukyklos archyvas

Apklausa

Ar esate patenkinti lietuviško vertimo kokybe?

Taip!

Taip, bet yra ką taisyti (parašysiu komentaruose)

Ne

Norėdamas balsuoti turite prisijungti.
Archyvas
Reklama 400x60
CAST'inimas, realiųjų skaičių palyginimo problemos sprendimas, bei CAST'inimas
Trumpas kodas:



<?php

$i=1; $bal = 7.8;

$moketi = 1.5;

$m2 = 1.5*5.2;

print("<br /><i>".$i++.".</i> "); echo $m2." VS ".round($m2,2);

print("<br /><i>".$i++.".</i> "); echo ($moketi*5.2 > $bal) ? "true" : "false";

print("<br /><i>".$i++.".</i> "); echo ($m2 > $bal) ? "true" : "false";

print("<br /><i>".$i++.".</i> "); echo ((int)$m2 > (int)$bal) ? "true" : "false";

$m2= round($m2,2);

print("<br /><i>".$i++.".</i> "); echo ($m2 > $bal) ? "true" : "false";

?>





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

2. true

3. true

4. false

5. false





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

(bool), (boolean) - cast to boolean

(float), (double), (real) - cast to float

(string) - cast to string

(binary) - cast to binary string (PHP 5.2.1 PHP 6)

(array) - cast to array

(object) - cast to object

(unset) - cast to NULL (PHP 5)





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,

CAST(91.2 AS UNSIGNED INTEGER) AS apytiksle_apimtis,

'K.I.S.S.' AS pilna_biografija,

CAST('K.I.S.S.' AS BINARY) AS dvejetaine_biografija,

CAST('K.I.S.S.' AS CHAR(2)) AS apytiksle_apimtis;





Užklausos rezultatas būtų:
tiksli_apimtis  apytiksle_apimtis  pilna_biografija  dvejetaine_biografija  apytiksle_apimtis

----------------------------------------------------------------------------------------------------------------

91.2               91                          K.I.S.S.               K.I.S.S.                        K.





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 informacija

Autorius
ozzWANTED
Parašymo data
2010 sausio 20 10:01:07
Komentarų
4
Skaityta
2414
Spausdinti Spausdinti
Komentarai
Waldoss 2010 sausio 24 19:01:24
nu nx nk nesuprantu apie ka čia ;DD
dyaz 2010 vasario 28 21:02:35
Įžangos nėra... be žado
iGolf 2013 vasario 16 01:02:08
Tai yra pavadinta "ekspertams" Ne tokiems gudročiams kaip jums ir buvo rašyta šypsosi
Rašyti komentarą
Prisijunkite, norėdami parašyti komentarą.
Reitingai
Balsuoti gali tik nariai.

Prašome prisijungti arba prisiregistruoti.

Nuostabu! Nuostabu! 0% [Nėra balsų]
Labai gerai Labai gerai 33% [1 Balsas]
Gerai Gerai 0% [Nėra balsų]
Patenkinamai Patenkinamai 0% [Nėra balsų]
Blogai Blogai 67% [2 Balsų]