webForumDet fria alternativet

Avrunda sträng som innehåller ett tal

PHP

6 svar · 267 visningar · startad av filipbh

Medlem sedan juli 2002405 inlägg
Frågan#1

Fråga 1:
Hur gör man lättast för att avrunda ett tal som skrivs ut från databasen... Två decimaler.

Fråga 2:
Hur ska jag göra för att läsa igenom en sträng för att kolla vilka tecken den innehåller?

Tacksam för alla lönsamma svar

Medlem sedan nov. 2001274 inlägg
#2

Svar 1:
Det är funktionen round() du söker. Ska nog fungera såhär: round($tal, 2); så får du med 2 decimaler t.ex.

Svar 2:
Vet ju inte vad du vill göra med dina strängar och tecken, men jag knåpade i alla fall ihop något som stoppar in alla tecken som en sträng innehåller i en array.

$strWord = "Hallo";
$intWordLength = strlen($strWord);

for ($x = 0; $x < $intWordLength; $x++) {
	$arrCharacters[] = substr($strWord, $x, 1);
}
Medlem sedan juli 2002405 inlägg
#3

Det fungerar ju inte att bara skriva $tal_ny = rond($tal_gammalt, 2);

Måste jag anropa "rond()" innan någonstans?

Det jag menade med punkt två var att om strängen t.ex. innehåller "." så ska den lägga till en sista nolla efter det utskrivna värdet.

Medlem sedan nov. 2001274 inlägg
#4

Svar 1 igen:
Du har skrivit rond(), det ska vara round(). Hoppas att det var problemet i alla fall.

Svar 2 igen:
Det kanske finns något bättre sätt, men gör en funktion av koden nedan så blir det nog bra ändå.

$strWord = "Hallo";
$intWordLength = strlen($strWord);

for ($x = 0; $x < $intWordLength; $x++) {
    $arrCharacters[] = substr($strWord, $x, 1);
}

if (in_array(".", $arrCharacters)) {
$strWord .= "0";
}
Medlem sedan juli 2002405 inlägg
#5

Det var u:et som saknades.. Så punkt 1 fungerar bra. Men får fortfarande inte punkt 2 att fungera.

Medlem sedan nov. 2001274 inlägg
#6

(precis samma kod som i mitt förra inlägg)

$strWord = "Hallo";
$intWordLength = strlen($strWord);

for ($x = 0; $x < $intWordLength; $x++) {
    $arrCharacters[] = substr($strWord, $x, 1);
}

if (in_array(".", $arrCharacters)) {
$strWord .= "0";
}

Denna kod fungerar för mig om man lägger till en punkt vars om helst i $StrWord, då läggs det till en nolla i slutet utav $StrWord. Det är så jag antar att du ville ha det i alla fall. :)

Medlem sedan juli 2002405 inlägg
#7

Jag är sjuk så hjärnan tänker inte så bra nu :p Jag hade ju varken med echo $strWord eller en punkt i den.. Men nu fungerar det prima. Tack så mycket

264 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
127 ms — deklarationer (db)
0 ms — hämta statistik (cache)
133 ms — hämta tråd, inlägg och bilagor (db)
128 ms — ändringar (db)