jag har en sida där jag ska lägga in vikter, men dem ska vara typ:
12,360
asso ett tal med tre decimaler.
Vad ska jag ha för fälttyper i en access db då ?
17 svar · 287 visningar · startad av icaaq
jag har en sida där jag ska lägga in vikter, men dem ska vara typ:
12,360
asso ett tal med tre decimaler.
Vad ska jag ha för fälttyper i en access db då ?
ok...jag har fixar fölt typer och dylikt.....men....om följande cenario utspelar sig:
man skriver in en vikt på:
10,540
Då vill jag att det ska stå:
10,540
inte
10,54
Hur löser jag detta??
sk aman använda inStrRev för att kolla hur många tecken det finns efter , ...
fasiken nu blev det sådär igen att man får en idé när man skrivit in här redan
jag knåppade ihop denna:
Function KollaKomma(ByVal vikt)
If InStrRev(vikt, ",") < 3 then
myArray = Split(vikt, ",")
heltal = myArray(0)
komma = Left(myArray(1)& "000",3)
lngTal = heltal&","&komma
KollaKomma = FormatNumber(lngTal, 3)
End If
End Function
är det att gå över ån för att hämta vatten.....
asso finns det smartare sätt
jag har stött på problem:
Function KollaKomma(ByVal vikt)
Dim myArray, heltal, komma, lngtal
If InStrRev(vikt, ",") < 3 then
myArray = Split(vikt, ",")
heltal = myArray(0)
komma = Left(myArray(1)& "000",3)
lngTal = heltal&","&komma
KollaKomma = FormatNumber(lngTal, 3)
End If
End Function
Response.Write "<br><br>"
Response.Write KollaKomma("1,86")
denna funkar asso
men det blir fel om jag ska skriva
Response.Write KollaKomma(1,86)
Microsoft VBScript runtime error '800a01c2'
Wrong number of arguments or invalid property assignment: 'KollaKomma'
/inttal.asp, line 98
hur ska jag lösa det
punkt, käre vän.
Nej, men göra om "vikt" till en sträng.
vad skulle man tjäna på att göra tal till strängar?
Om man ska kolla med InStrRev så ska det ju vara en sträng.
är det att gå över ån för att hämta vatten.....
förmodligen, men jag förstår inte vad du vill göra med funktionen.
Om man ska kolla med InStrRev så ska det ju vara en sträng.
det känns fel att göra så, speciellt om mitt 'förmodligen' ovan inträder.
mvh,
"InStr" betyder "in string" och det betyder i sin tur "i sträng"... jag har svårt att tro att en numerisk variabel är en sträng!
ok....men hur ska jag göra da???
Response.Write KollaKomma(cStr(1,86))
eller
Response.Write KollaKomma("1,86")
eller
Function KollaKomma(ByVal vikt)
Dim myArray, heltal, komma, lngtal
vikt = cStr(vikt)
If InStrRev(vikt, ",") < 3 then
myArray = Split(vikt, ",")
heltal = myArray(0)
komma = Left(myArray(1)& "000",3)
lngTal = heltal&","&komma
KollaKomma = FormatNumber(lngTal, 3)
End If
End Function
Response.Write "<br><br>"
Response.Write KollaKomma("1,86")
hmm....jag visar hur jag har nu..
<%=KollaKomma(cstr(ObjRS("F_TOTALDAG1")))%>
men när jag har så här visas ingenting...och jag vet att det är ett värde i ObjRS("F_TOTALDAG1"), för det funkar om jag tar bort kollakomma
Rs brukar vara kinkigt ibland... testa:
<%
totalDag = ObjRS("F_TOTALDAG1")
Response.Write KollaKomma(cstr(totalDag))
%>
Lättaste vore nog:
FormatNumber(RecSet("Field"),3)
varför krångla till saker och ting ...
cya,
PatrikB
[r.strunta i det.....
-----------------
- Vet du vad det blir om en kille från Dalarna startar en tidning och en radiokanal?
- Nej.
- Mas-media.
[Redigerat av icaaq den 27 aug 2001]
[Redigerat av icaaq den 27 aug 2001]