15. oktober 2003 - 14:07
Der er
29 kommentarer og 1 løsning
hente sidste ciffer af en double
Jeg har en database hvor et af felterne angiver ID'er som doubles, f.eks. 1.1, 1.2, 1.3 [...] 2.1, 2.2, 2.3 osv. Nu har jeg brug for at hente bare det sidste ciffer, altså hhv 1, 2, 3 [...] 1, 2, 3. Det må kunne lade sig gøre... men hvordan? //mik
Annonceindlæg tema
Cloud & AI
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
15. oktober 2003 - 14:10
#1
Gange med 10 og modulo 10
15. oktober 2003 - 14:12
#2
du kunne bruge funktionen explode() $ciffer = $row[id]; $ciffer = explode (".", $ciffer); $ciffer = $ciffer[1]; ceho $ciffer;
15. oktober 2003 - 14:13
#3
hov.. den med explode skulle have været et svar :) og ceho skulle have været echo....
exp
Juniormester
15. oktober 2003 - 14:17
#4
hvis der ALTID kun er et ciffer efter punktum kan du bruge: substr($str, -1) men støtter hhunden's forslag...
15. oktober 2003 - 14:39
#5
hhunden> jeg skal ha' lidt hjælp: hvor kommer $row[id] fra? Jeg har testet med flg. som muligvis bare viser at jeg ikke har forstået en snus: <!DOCTYE... <html>osv. <body> <?php function showLast($double) { $ciffer = $row[id]; $ciffer = explode(".",$ciffer); $ciffer = $ciffer[1]; echo $ciffer; } $double = 1.2; echo "double = $double;<br />\n"; echo showLast($double); ?> </body> Denne side skriver bare: "double = 1.2", men viser ikke hvad det sidste ciffer er :-/
15. oktober 2003 - 14:40
#6
hov jeg kan da i hvert fald se én syntaks fejl: funktionen skal bare hedde showLast() hvis jeg gør det på denne måde...
15. oktober 2003 - 14:43
#7
men det ændrede ikke noget....
15. oktober 2003 - 14:49
#8
OK, var din $row der drillede. hvis jeg i stedet skriver:
15. oktober 2003 - 14:50
#9
<?php // function showLast() { $double = 1.2; echo "double = $double<br />\n"; $ciffer = $double; $ciffer = explode(".",$ciffer); $ciffer = $ciffer[1]; echo $ciffer; ?> ---- så virker det
15. oktober 2003 - 14:55
#10
Nu er jeg ikke helt sikker.... Men kan "$resultat = $double % 1" ikke bare bruges? Eller blander jeg det sammen med et andet sprog?
15. oktober 2003 - 14:57
#11
angak> prøver.....
15. oktober 2003 - 15:03
#12
angak> $double = 1.2; $resultat = $double % 1; echo $resultat; skriver bare: "0"
15. oktober 2003 - 15:05
#13
Så prøv: $double = 1.2; $resultat = (($double*10) % 10)/10; echo $resultat; Det kan være Modulo kun kan heltal
15. oktober 2003 - 15:07
#14
$row[id] kommer fra dit database udtræk hvordan indgår det i dit site??
15. oktober 2003 - 15:08
#15
angak> det giver "0.2"
15. oktober 2003 - 15:10
#16
<?php function showLast($double) { echo "double = $double<br />\n"; $double = explode(".",$double); $ciffer = $double[1]; return $ciffer ?> så kalder du bare din funktion f.eks. echo showLast(1.2); dette vil skrive double = 1.2 2
15. oktober 2003 - 15:10
#17
Doh.... Glem det med at dele med 10 til sidst... Jeg havde lige glemt spørgsmålet.... *g*
15. oktober 2003 - 15:11
#18
Efter mange forsøg ender mit svar med at være : $double = 1.2; $resultat = (($double*10) % 10); echo $resultat;
15. oktober 2003 - 15:12
#19
angak hvorfor er du så låst på at bruge Modulo ?
15. oktober 2003 - 15:13
#20
forresten min løsning kunne være lidt pænere $ciffer = (int) $double[1]; for at fjerne alle misforståelser
15. oktober 2003 - 15:14
#21
holybull> dette er stort det samme som jeg nåede frem til 15/10-2003 14:50:16 ("//" er bare en paste-fejl)
15. oktober 2003 - 15:16
#22
mik789 forskellen er at mit virker.. det er testet
15. oktober 2003 - 15:16
#23
og funktionerne return og echo er absolut ikke det samme
15. oktober 2003 - 15:17
#24
holybull> det er min også ;-) eneste forskel er at din har en variabel som parameter, og det skal den selvfølgelig have for at kunne kaldes uafhængigt, men det er jeg klar over.
15. oktober 2003 - 15:18
#25
holybull> næ, men gør det nogen forskel - den skal jo echo'es under alle omstændigheder?
15. oktober 2003 - 15:19
#26
der ligger også andre forskelle, f.eks. anvender jeg return, som giver funktionen en retunerings værdi, og jeg laver en implicit typekonvertering for 110% at undgå misforståelser
15. oktober 2003 - 15:19
#27
så problemet er løst nu, eller... Jeg er blevet lidt forvirret nu :o) Men hvis mik789 har fået løst sit problem er det jo lige meget om jeg har forstået... :o)
15. oktober 2003 - 15:20
#28
jeg HAR fået løst problemet. jeg brugte hhundens model som blev rettet lidt til... men tak til alle
15. oktober 2003 - 15:21
#29
godt så :o) så var det bare mig der var blevet forvirret undervejs !!!
15. oktober 2003 - 15:24
#30
holybull: "angak hvorfor er du så låst på at bruge Modulo?" Fordi det er en nem og simpel operator.. =)
Vi tilbyder markedets bedste kurser inden for webudvikling