webForumDet fria alternativet

Ta bort tusentalsavgränsare

PHP

11 svar · 2 511 visningar · startad av Wibbskii

Medlem sedan okt. 201438 inlägg
Frågan#1

Kan man styra hur man vill visa ett tal.
Jag får med en tusentalsavgränsare, går det att visa talet utan den?
Såhär ser koden ut.

<b>Fastighetens byggnadsår:</b>&nbsp;&nbsp;<?php echo $form_data['field']['9.Fastighetens byggnadsår']; ?>
Medlem sedan feb. 20005 891 inlägg
Medlem sedan okt. 201438 inlägg
#3

casca skrev:

http://php.net/manual/en/function.number-format.php

Tack. Kan du specificera lite vilket stycke du hänvisar till. Där fanns ju sjukt mycket information.

Medlem sedan juni 20006 031 inlägg
#4
string number_format ( float $number , int $decimals = 0 , string $dec_point = "." , string $thousands_sep = "" )
Medlem sedan okt. 201438 inlägg
#5

Pedda skrev:

string number_format ( float $number , int $decimals = 0 , string $dec_point = "." , string $thousands_sep = "" )

Tack. Jag är nybörjare på PHP och har lite svårt för det. Om du skulle översätta min rad jag lade i första inlägget med det du förklarat. Hur skulle det se ut då?

Medlem sedan feb. 20005 891 inlägg
#6

Wibbskii skrev:

Tack. Jag är nybörjare på PHP och har lite svårt för det. Om du skulle översätta min rad jag lade i första inlägget med det du förklarat. Hur skulle det se ut då?

Det är bra att lära sig hur man läser dokumentation. Men okej:

<b>Fastighetens byggnadsår:</b>&nbsp;&nbsp;<?php echo number_format($form_data['field']['9.Fastighetens byggnadsår'], 0, ',', ''); ?>
Medlem sedan okt. 201438 inlägg
#7

casca skrev:

Det är bra att lära sig hur man läser dokumentation. Men okej:

<b>Fastighetens byggnadsår:</b>&nbsp;&nbsp;<?php echo number_format($form_data['field']['9.Fastighetens byggnadsår'], 0, ',', ''); ?>

Tack. Men det fungerar inte. Den avrundar till närmsta heltal istället. Alltså att 1,935 blir 2, det borde bli 1935.

Jo det är klart att det är bra att kunna läsa dokumentation men jag ställde en fråga och fick tusen svar. Det är ju därför jag frågar för att kunna lära mig.

Medlem sedan feb. 20005 891 inlägg
#8

Wibbskii skrev:

Tack. Men det fungerar inte. Den avrundar till närmsta heltal istället. Alltså att 1,935 blir 2, det borde bli 1935.

Jo det är klart att det är bra att kunna läsa dokumentation men jag ställde en fråga och fick tusen svar. Det är ju därför jag frågar för att kunna lära mig.

Hur lagrar du värdet? Kör var_dump($form_data['field']['9.Fastighetens byggnadsår']) och posta resultatet här.

Medlem sedan okt. 201438 inlägg
#9

Resultat: string(5) "1.935"

Medlem sedan feb. 20005 891 inlägg
#10

Wibbskii skrev:

Resultat: string(5) "1.935"

Men okej, det där är ju FYI inte en tusentalsavgränsare utan ett kommatecken. Vet inte varför du lagrar årtal som sträng (eller flyttal ser det ut som?) men om du bara vill få bort tecknet borde du kunna köra str_replace och ersätta det med "ingenting", såhär:

echo str_replace('.', '', $form_data['field']['9.Fastighetens byggnadsår']);

(PHP konverterar värden automatiskt om du inte explicit konverterar det. "1.935" som sträng ser ut som ett s.k. flyttal med decimaler, så om du konverterar det till ett "heltal" (integer) så kommer det att behöva avrunda uppåt eller neråt.)

Medlem sedan mars 2007845 inlägg
#11

str_replace('.', '', $form_data['field']['9.Fastighetens byggnadsår']);

EDIT: rackans blev tvåa.

Medlem sedan okt. 201438 inlägg
#12

Tack casca och drew, det fungerar perfekt.

260 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
124 ms — deklarationer (db)
0 ms — hämta statistik (cache)
133 ms — hämta tråd, inlägg och bilagor (db)
121 ms — ändringar (db)