webForumDet fria alternativet

Konvertera valuta och liknande.....

ASP

27 svar · 546 visningar · startad av LearningASP

Medlem sedan okt. 2001127 inlägg
Frågan#1

Jag har sökt runt på forumet och hittat ganska lite om konvertering, av den anledningen startar jag ett nytt ämne för jag förstod inte riktigt hur man skulle göra.

Frågor

1.Konvertera SEK <-> EUR

2 Konvertera HK <-> KW
1 Hk = 0.74570 Kw

Hur utformar man koderna för detta?

JAg har följande i ett formulär_

ett textfält för priset och ett för hk/kw antalet

och en dropdown meny där man väljer vad SEK eller EUR för priset och en för hk/kw antalet där man väljer hk eller kw

Tack på förhand

MVH, LearningASP

------------------
----------------------
Varje dag är en ny lektion ;)

[Redigerat av LearningASP den 11 okt 2001]

Medlem sedan dec. 19998 577 inlägg
#2

Exempel:

function HKtoKW(HK)
HKtoKW = HK * 0.74570
end function

------------------
Doesn't 'expecting the unexpected' make the unexpected expected?
webeye.nu

Medlem sedan okt. 2001127 inlägg
#3

Tackar

* = gånger

e då / = delat med??

------------------
----------------------
Varje dag är en ny lektion ;)

Medlem sedan dec. 19998 577 inlägg
#4

Exakt... ;)

------------------
Doesn't 'expecting the unexpected' make the unexpected expected?
webeye.nu

Medlem sedan okt. 2001127 inlägg
#5

Kan du förklara lite hur en function fungerar.

Det bästa är väl att spara det pris och antal hk i databasen och sen förändrar man till de värdena man vill ha på presentationssidan?

function HKtoKW(HK)
HKtoKW = HK * 0.74570
end function

HKtoKW är det de som blir variabeln?

vad gör (HK) dvs det inom parantestecknen?

det är lite lättare att förstå och lära sig om man får en lite förklaring ;)

tack på förhand

------------------
----------------------
Varje dag är en ny lektion ;)

Medlem sedan dec. 19998 577 inlägg
#6

Function: http://www.webeye.nu/default2.asp?que=asp/default.asp&exec=asp/artiklar/asp_14.asp#function

Du anropar och lägger det i en varibel (eller använder direkt) såhär, säg att vi viill konvertera 105 HK till KW:

variabel = HKtoKW(105)

------------------
Doesn't 'expecting the unexpected' make the unexpected expected?
webeye.nu

Medlem sedan okt. 2001127 inlägg
#7

Bara för att se om jag fattar ett ex

'hämtar textfältets värde
strHK = Request.Form("FormHK")

function HKtoKW(strHK)
HKtoKW = HK * 0.74570
end function

'där man vill skriva ut funktionen
<%=HKtoKW%>

har jag fattat???

Kan inne hålla fel skrev det på en bensträkar paus i skolan ;)

------------------
----------------------
Varje dag är en ny lektion ;)

Medlem sedan dec. 19998 577 inlägg
#8

Nej, du måste anropa funktionen med ett värde som argument:

function HKtoKW(strHK)
HKtoKW = HK * 0.74570
end function

'hämtar textfältets värde
strHK = Request.Form("FormHK")

'där man vill skriva ut funktionen
<%=HKtoKW(strHK)%>

Sedan måste strHK vara numersikt, så variabeln borde heta intHK. :)

------------------
Doesn't 'expecting the unexpected' make the unexpected expected?
webeye.nu

Medlem sedan okt. 2001127 inlägg
#9

Konverteringen funkar utnärkt ;)

men om jag vill ha en if-sats, jag har nämligen en dropdown där man väljer antingen hk eller kw och ett text fält där man skriver hk.

textfältet heter FormEffekt
dropdownen heter FormHK

If Request.Form("FormHK")="hk" Then
	intEffekt = Request.Form("FormEffekt")
	function HKtoKW(intEffekt)
	HKtoKW = intEffekt * 0.74570
	end function
	
	Else
	intEffekt = Request.Form("FormEffekt")
	function KWtoHK(intEffekt)
	KWtoHK = intEffekt * 1.34102
	end function
	
	End If

så jag har nu så får båda funktionerna värden

<%=HKtoKW(intEffekt)%><br><br><%=KWtoHK(intEffekt)%>

nu blir det massa decimaler hur blir jag av med dom?

Finns det nåt sätt att avrunda?

Tack på förhand

------------------
----------------------
Varje dag är en ny lektion ;)

Medlem sedan dec. 200012 464 inlägg
#10

Ja.

function HKtoKW(strHK)
HKtoKW = round(HK * 0.74570,4)
end function

t.ex.
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/script56/html/vsfctround.asp

------------------
essentitia preter non sans multiplicandum

Medlem sedan feb. 20012 412 inlägg
#11

Hej!

Som LarsG skrev kan du använda ROUND för att avrunda. Men du kan också välja antal decimaler med formatnumber tex:

intVariabel = formatnumber(intVariabel,3)

ger 3 decimaler. Byt siffran till höger mot antalet decimaler du vill ha. Kan vara bra om du vill låta alla decimaler vara kvar i funktionen och precentera olika antal på olika ställen.

mvh Jörgen :)

------------------
Varför bråka när man kan kramas?

[Redigerat av jorgen den 11 okt 2001]

Medlem sedan okt. 2001127 inlägg
#12

Men varför vill min If-sats inte fungera då???

------------------
----------------------
Varje dag är en ny lektion ;)

Medlem sedan feb. 20012 412 inlägg
#13

Hej!

Prova:

If Cstr(Request.Form("FormHK")) = "hk" Then

mvh Jörgen :)

------------------
Varför bråka när man kan kramas?

Medlem sedan okt. 2001127 inlägg
#14

Finns det något sätt att få . tex om jag skriver 100.000 så i översättningen till EUR så blir det 10395,01 vill gärna ha 10.395,01 går detta att lös på något sätt????

------------------
----------
Varje dag är en ny lektion ;)

Medlem sedan feb. 20012 412 inlägg
#15

Hej!

Vad får du om du skriver:

<%=KWtoHK(formatCurrency("intEffekt"),-1)%>

Prova labba mellan -1, 0 och -2.

mvh Jörgen :)

------------------
Varför bråka när man kan kramas?

Medlem sedan okt. 2001127 inlägg
#16

jag har denna kod

hur skall jag "baka" in din kod snutt i detta??

function SEKtoEUR(intPris)
	SEKtoEUR = round(intPris / currEUR,0)
	end function
	
	function EURtoSEK(intPris)
	EURtoSEK = round(intPris * currSEK,0)
	end function

så här ser present. koden ut

If Cstr(Request.Form("FormPris")) = "" Then
	Response.Write""
	ElseIf Cstr(Request.Form("FormValuta")) = "SEK" Then 
	Response.Write""&strPris&" SEK ("& SEKtoEUR(intPris) &" EUR)" 
	ElseIf Cstr(Request.Form("FormValuta")) = "EUR" Then 
	Response.Write""&EURtoSEK(intPris)&" SEK ("& strPris &" EUR)"
	End if%>

jag ville inte ha decimaler ändå ;)

------------------
----------
Varje dag är en ny lektion ;)

[Redigerat av LearningASP den 11 okt 2001]

Medlem sedan okt. 2001127 inlägg
#17

Jag måste fråga om detta är rätt (sitter inte hemma så att jag kan testa :()

function SEKtoEUR(intPris)
SEKtoEUR = formatCurrency(intPris / currEUR,0, -1)
end function

function EURtoSEK(intPris)
EURtoSEK = formatCurrency(intPris * currSEK,0, -1)
end function

jag läste lite om formatCurrency och det blir comma men går det att få punkt?

men går det inte att lösa så e det inte mycket att göra

ex:
källa: http://www.devguru.com/Technologies/vbscript/quickref/formatcurrency.html

Code:
<% =FormatCurrency(31567, 2) %> 
 
Output:
$31,567.00 

vill ha:

31.567

nu var jag väldigt jobbig ;)

------------------
Varje dag är en ny lektion ;)

Medlem sedan dec. 19998 577 inlägg
#18

Borde fungera om du ändrar till svensk teckenuppsättning:

Session.LCID = 1053

------------------
Doesn't 'expecting the unexpected' make the unexpected expected?
webeye.nu

Medlem sedan okt. 2001127 inlägg
#19

ok, danke skall prova så fort jag kommer hem ;)

------------------
Varje dag är en ny lektion ;)

Medlem sedan okt. 2001127 inlägg
#20

går det att bli av med sek som blir med formatCurrency?

------------------
Varje dag är en ny lektion ;)

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