/
Forside
/
Teknologi
/
Udvikling
/
ASP
/
Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn
*
Kodeord
*
Husk mig
Brugerservice
Kom godt i gang
Bliv medlem
Seneste indlæg
Find en bruger
Stil et spørgsmål
Skriv et tip
Fortæl en ven
Pointsystemet
Kontakt Kandu.dk
Emnevisning
Kategorier
Alfabetisk
Karriere
Interesser
Teknologi
Reklame
Top 10 brugere
ASP
#
Navn
Point
1
smorch
9259
2
Harlekin
1866
3
molokyle
1040
4
Steffanst..
758
5
gandalf
657
6
smilly
564
7
gibson
560
8
cumano
530
9
MouseKeep..
480
10
Random
410
formatering af nummerstreng med regexp
Fra :
Rasmus Skov
Dato :
25-03-03 11:46
jeg ønsker at formatere et givent tal på formen 10000000 om til 10.000.000
(der kan optræde forskelligt antal cifre), det er altsammen heltal.
jeg vil gerne ha' hjælp til lidt regexp og lidt vbscript/asp til at putte
omkring.
hvis det kunne give nogle idéer så har jeg tidligere lavet noget ligende men
til clientside javascript:
det kan nok gøres smartere ... men det virker ;)
function formatDot(valueStr){
var regexp = new RegExp("\\B(\\d{3})( |$)");
while (valueStr.search(regexp) >= 0) {
valueStr = valueStr.replace(regexp, " "+"$1");
}
while (valueStr.search(" ") >= 0)
valueStr = valueStr.replace(" ", ".");
return valueStr;
}
jeg er ikke interesseret i forslag der går på at lave asp i javascript.
--
"Only wimps use tape backup. Real men just upload their important stuff on
ftp, and let the rest of the world mirror it." - Linus Torvalds
Rasmus Skov (
25-03-2003
)
Kommentar
Fra :
Rasmus Skov
Dato :
25-03-03 23:51
> jeg ønsker at formatere et givent tal på formen 10000000 om til 10.000.000
> (der kan optræde forskelligt antal cifre), det er altsammen heltal.
>
> jeg vil gerne ha' hjælp til lidt regexp og lidt vbscript/asp til at putte
> omkring.
efter lidt grublen indså jeg, at det nok faktisk var nemmere (og hurtigere)
at lave det uden regexp.
her er min (knap så flotte) brugbare version; der er lige tilføjet et
regexp-check på om strengen allerede er formateret korrekt:
function formatDot(str)
Set dottet = New RegExp
With dottet
.Pattern = "(^[0-9]{1,3}(\.[0-9]{3})*(\.[0-9]{3})$)"
.IgnoreCase = True
.Global = True
End With
if dottet.Test(str) then
formatDot=str
else
dim return
for i=1 to Len(str)
return = return & Mid(str,i,1)
if (Len(str)-i) mod 3 = 0 and not (Len(str)-i)=0 then return =
return & "." end if
next
formatDot=return
end if
Set dottet = nothing
end function
Søg
Alle emner
Teknologi
Udvikling
ASP
Indstillinger
Spørgsmål
Tips
Usenet
Reklame
Statistik
Spørgsmål :
177551
Tips :
31968
Nyheder :
719565
Indlæg :
6408834
Brugere :
218887
Månedens bedste
Årets bedste
Sidste års bedste
Copyright © 2000-2024 kandu.dk. Alle rettigheder forbeholdes.