|
| Ændre talseperator Fra : BJ |
Dato : 11-08-07 11:54 |
|
Har skrevet om det her engang før uden at har fået det løst.
Jeg har et talt f.eks 96.00 der skal laves om til 96,00 (med komma istedet)
Det gør jeg sådan:
$nTotalSumNet = str_replace(",", ".", $nTotalSumNet);
$nTotalSumNet = $nTotalSumNet*100;
Det virker fint nok indtil der kommer et tusindtal, f.eks 1.891.00 det
bliver lavet om til 189.1 hvilket jo ikke er så smart, skal være 1891,00.
Nogen ide til hvordan jeg kan gør det ?
På forhånd tak.
| |
Johan Holst Nielsen (11-08-2007)
| Kommentar Fra : Johan Holst Nielsen |
Dato : 11-08-07 12:24 |
|
BJ wrote:
> Har skrevet om det her engang før uden at har fået det løst.
>
> Jeg har et talt f.eks 96.00 der skal laves om til 96,00 (med komma istedet)
> Det gør jeg sådan:
>
> $nTotalSumNet = str_replace(",", ".", $nTotalSumNet);
> $nTotalSumNet = $nTotalSumNet*100;
>
> Det virker fint nok indtil der kommer et tusindtal, f.eks 1.891.00 det
> bliver lavet om til 189.1 hvilket jo ikke er så smart, skal være 1891,00.
>
> Nogen ide til hvordan jeg kan gør det ?
First of all... hvem skriver 1.981.00?
Normalt skriver man enten 1,981.00 eller 1.981,00 - men bruger ikke
samme separator begge stedeR?
Hvis du altid har , eller . - dvs. tallet ALTID har 2 decimaler med...
så kan du lavet noget ala
$nTotalSumNet = substr($nTotalSumNet,0,-3).".".substr($nTotalSumNet,-2);
$nTotalSumNet = (float)$nTotalSumNet*100;
Ellers skriv lige igen :)
Mvh
Johan
--
Johan Holst Nielsen
Freelance PHP Developer - http://phpgeek.dk
| |
Johan Holst Nielsen (11-08-2007)
| Kommentar Fra : Johan Holst Nielsen |
Dato : 11-08-07 12:26 |
|
Johan Holst Nielsen wrote:
> $nTotalSumNet = substr($nTotalSumNet,0,-3).".".substr($nTotalSumNet,-2);
Ups - glemte replace i denne for tusindseparator
$nTotalSumNet =
str_replace(array('.',','),'',substr($nTotalSumNet,0,-3)).".".substr($nTotalSumNet,-2);
Mvh
Johan
| |
BJ (11-08-2007)
| Kommentar Fra : BJ |
Dato : 11-08-07 16:47 |
|
>> $nTotalSumNet = substr($nTotalSumNet,0,-3).".".substr($nTotalSumNet,-2);
>
> Ups - glemte replace i denne for tusindseparator
>
> $nTotalSumNet =
> str_replace(array('.',','),'',substr($nTotalSumNet,0,-3)).".".substr($nTotalSumNet,-2);
>
Ser ud til jeg har fået denne til at virke:
$nTotalSumNet = '2.123.00';
$nTotalSumNet = substr($nTotalSumNet,0,-3).".".substr($nTotalSumNet,-2);
$nTotalSumNet =
str_replace(array('.',','),'',substr($nTotalSumNet,0,-3)).".".substr($nTotalSumNet,-2);
echo $nTotalSumNet;
Tak for hjælpen begge 2.
| |
Arne Feldborg (11-08-2007)
| Kommentar Fra : Arne Feldborg |
Dato : 11-08-07 12:58 |
|
"BJ" <BJsnabela@svarikke.dk> skrev Sat, 11 Aug 2007 12:54:04 +0200
>Nogen ide til hvordan jeg kan gør det ?
>
Hvis du er sikker på, at du altid har to decimaler i det oprindelige
tal, så starter du bare med at lave beløbet om til ører (dvs. fjerne
alle eksisterende seperatortegn).
Og derefter kan du formatere det lige præcist som du har lyst.
$tal = '1,211,234.56';
$str = array(',', '.');
echo '<br>'.$tal;
$tal = str_replace ($str, '', $tal);
echo '<br>'.$tal;
$tal = number_format(($tal/100),'2',',','.');
echo '<br>'.$tal;
--
mvh, A:\Feldborg
Slægtsforskning og lokalhistorie i midt- vestjylland
http://hammerum-herred.dk/
| |
BJ (11-08-2007)
| Kommentar Fra : BJ |
Dato : 11-08-07 16:41 |
|
> Og derefter kan du formatere det lige præcist som du har lyst.
>
> $tal = '1,211,234.56';
> $str = array(',', '.');
> echo '<br>'.$tal;
>
> $tal = str_replace ($str, '', $tal);
> echo '<br>'.$tal;
>
> $tal = number_format(($tal/100),'2',',','.');
> echo '<br>'.$tal;
>
Hvordan får jeg lige formateret det så der kun er , for de sidste 2, altså
1189,00 ?
| |
Johan Holst Nielsen (11-08-2007)
| Kommentar Fra : Johan Holst Nielsen |
Dato : 11-08-07 17:27 |
|
BJ wrote:
>> Og derefter kan du formatere det lige præcist som du har lyst.
>>
>> $tal = '1,211,234.56';
>> $str = array(',', '.');
>> echo '<br>'.$tal;
>>
>> $tal = str_replace ($str, '', $tal);
>> echo '<br>'.$tal;
>>
>> $tal = number_format(($tal/100),'2',',','.');
>> echo '<br>'.$tal;
>>
>
> Hvordan får jeg lige formateret det så der kun er , for de sidste 2, altså
> 1189,00 ?
echo number_format($tal/100,2,',','');
--
Johan Holst Nielsen
Freelance PHP Developer - http://phpgeek.dk
| |
BJ (13-08-2007)
| Kommentar Fra : BJ |
Dato : 13-08-07 05:35 |
|
> Jeg har et talt f.eks 96.00 der skal laves om til 96,00 (med komma
> istedet)
> Det gør jeg sådan:
>
> $nTotalSumNet = str_replace(",", ".", $nTotalSumNet);
> $nTotalSumNet = $nTotalSumNet*100;
>
Tak begge 2, nu har jeg langt om længe fået løst mit problem.
| |
|
|