webForumDet fria alternativet

regexp decimaltal

ASPur ASP

8 svar · 300 visningar · startad av daniel_ra

Medlem sedan jan. 2002381 inlägg
Frågan#1

Jag vill rensa en sträng från allt utom decimaltal, vill alltså endast tillåta siffror samt kommatecken. Hur göra?

Medlem sedan dec. 20003 887 inlägg
#2

Detta mönster bör fungera.

"\d+,?\d+|\d"
Medlem sedan jan. 2002381 inlägg
#3

Får det inte att fungera ändå

Medlem sedan nov. 20017 144 inlägg
#4

Vad fungerar inte, felmeddelande, kod etc.

Medlem sedan maj 200010 687 inlägg
#5
sString = "!!abc5454,123"

With New RegExp
	.Pattern = "[^\d\,]"
	.Global = True
	
	sString = .Replace(sString, "")
End With
Medlem sedan nov. 20017 144 inlägg
#6

Erik, ditt exempel plockar ju även ut heltal, men det kanske skulle vara så?

Medlem sedan jan. 2002381 inlägg
#7

kan det kanske bero på vilken datatyp jag valt på fältet i databasen. hur jag än gör så får jag inte med kommatecknet. den verkar nog rensa korrekt men kommatecknet försvinner. Jag lyckas inte lägga till ett decimaltal. 44,55 blir 4455.

Om det kan hjälpa så gör jag en Clng(värde) innan jag lägger till i databasen. Jag använder sql-server och har float som datatyp på fältet i databasen.

Jag har även provat att använda . istället för , men det går iallafall inte

Medlem sedan juni 200032 967 inlägg
#8

Eftersom Long är en heltalsdatatyp är det ju inte så konstigt att det inte lagras något decimaltal i databasen...

Gör en replace på en strängrepresentation av talet, från komma till punkt. Alltid punkt som decimaltecken i SQL.

Medlem sedan jan. 2002381 inlägg
#9

Löste det genom att byta ut kommatecknet till en punkt, sen upptäckte jag ju att jag inte behöver göra Clng alls, för övrigt är det som sagt inte så konstigt att kommatecknet försvann eftersom det är ett heltal.

använder float i databasen

tack för hjälpen alla!!

129 ms totalt · 3 externa anrop · v20260731065814-full.4bcf49fe
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
126 ms — hämta tråd, inlägg och bilagor (db)