webForumDet fria alternativet

Problem med formatering av tal!

ASP

2 svar · 186 visningar · startad av jimpa

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

Hej,

Om jag har ett tal som ser ut så här:

Tal = 15.90
(talet hämtas inte ur en db. och decimaler kommer alltid att avgränsas med en punkt)

Om jag multiplicerar talet med 2 så blir det ju:
15.90 * 2 = 31.80

Problemet är att, om servern är inställd med en svensk standard så blir resultat:

15.90 * 2 = 3180

Decimalen försvinner tydligen eftersom svensk standard använder sig av ett komma istället för punkt!

Hur kan jag lösa detta (resultatet ska bli det samma oavsett språk servern är inställd på)?

Medlem sedan jan. 2001361 inlägg
#2

Har löst det med en "töntig" function

Function getDeci(mynumber)
Dim sign, tmpValue
tmpValue = FormatNumber(15, 2)
tmpValue = cstr(tmpValue)
if inStr(tmpValue, ",") then
sign = ","
else
sign = "."
end if
getDeci = CDbl(Replace(mynumber, ".", sign))
End Function

Känns ju som att det borde gå att lösa på ett smidigare sätt...
Någon?

Medlem sedan juni 2004533 inlägg
#3

Sätt LCID till 1053 så vet du att decimaltecknet alltid är komma.

Sätt
<%@ LCID=1053 %>
först på sidan. Eller om du redan har language i taggen:
<%@ Language=VBScript LCID=1053 %>

299 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
128 ms — deklarationer (db)
0 ms — hämta statistik (cache)
169 ms — hämta tråd, inlägg och bilagor (db)
127 ms — ändringar (db)