Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

regExp decimalseparator

0 views
Skip to first unread message

Jørgen Farum Jensen

unread,
Jul 11, 2008, 6:23:17 AM7/11/08
to
Jeg sku' til at lave en funktion, der
kan udskifte angelsaksisk notation
med dansk notation, for eksempel
25,334.54
til
25.334,54

Men mon ikke der er nogen, der har prøvet
det før mig?
--

Med venlig hilsen
Jørgen Farum Jensen
Håndbog i webdesign: http://webdesign101.dk/wwwbog/udgave2/
Webdesign med stylesheets: http://webdesign101.dk/cssbog/
.

Lasse Reichstein Nielsen

unread,
Jul 11, 2008, 11:39:01 AM7/11/08
to
Jørgen Farum Jensen <jfje...@yahoo.dk> writes:

> Jeg sku' til at lave en funktion, der
> kan udskifte angelsaksisk notation
> med dansk notation, for eksempel
> 25,334.54
> til
> 25.334,54
>
> Men mon ikke der er nogen, der har prøvet
> det før mig?

Altså, lave alle "." om til "," og omvendt.
Prøv:

numString = numString.replace(/[.,]/g,function(m) {
if (m == '.') { return ','; }
return '.';
}

eller, til ældre browsere der ikke tillader funktion
som andetargument til replace:

var parts = numString.split(/([,.])/);
for(var i = 1; i < parts.length; i+=2) {
parts[i] = (parts[i] == '.') ? ',' : '.';
}
numString = parts.join("");

eller bare:

numString = numString.replace(/\./g,",").replace(/,/g,".");

(det er nok forholdsvis korte strenge, så den sidste skulle være
hurtig nok i de fleste tilfælde).

/L
--
Lasse Reichstein Nielsen
DHTML Death Colors: <URL:http://www.infimum.dk/HTML/rasterTriangleDOM.html>
'Faith without judgement merely degrades the spirit divine.'

Jørgen Farum Jensen

unread,
Jul 17, 2008, 5:17:41 AM7/17/08
to
Lasse Reichstein Nielsen skrev:


> Altså, lave alle "." om til "," og omvendt.
> Prøv:
>
> numString = numString.replace(/[.,]/g,function(m) {
> if (m == '.') { return ','; }
> return '.';
> }
>
> eller, til ældre browsere der ikke tillader funktion
> som andetargument til replace:
>
> var parts = numString.split(/([,.])/);
> for(var i = 1; i < parts.length; i+=2) {
> parts[i] = (parts[i] == '.') ? ',' : '.';
> }
> numString = parts.join("");
>
> eller bare:
>
> numString = numString.replace(/\./g,",").replace(/,/g,".");
>
> (det er nok forholdsvis korte strenge, så den sidste skulle være
> hurtig nok i de fleste tilfælde).
>

Tak for hjælpen.

0 new messages