Hej, Ehm, vad menar du med 'så här ser koden ut'? Var har du skrivit den koden, hur ser hela koden ut? Sorry, det var nog lite svårbegripligt. Du måste använda .-tecknet som decamalseparator i SQL: Hej, Jag testade med replace, men då kom endast nollan med och ingenting efter. Kör en CDbl för att tvinga strängen till en variabel av typen Double Nu fungerar den biten, men fick ett nytt fel :-( Cint och Cdbl kan ta vilken datatyp som helst som inparamter. Int är dock inte Vilken datatyp är pris? Den bör i access vara huvudtyp: Tal(Number) och undertyp: Singel eller Dubbel. Eller så kan du välja currency som huvudtyp. Hej!!Decimalproblem
jag vill ha lägga in exempelvis 0,70 i databasen (SQL7), men får bara med 7:an.
Har testat med typerna float,decimal,money men får det inte att fungera.
Så här ser koden ut:
pris = 0.418
Någon som vet vad jag gör för fel?
Tacksam för svar.
/MariaSv: Decimalproblem
Det här fungerar bra i Query Analyzer:
<code>
create table a(a float)
insert into a values (0.4123)
select * from a
</code>Sv: Decimalproblem
Skriver i en asp-sida och så här ser hela raden ut:
if rs("antal") = 10000 then pris = 0.418 '418:-/1000
SQL strängen ser ut så här:
strsql ="Update orderraderTbl Set pris = " & pris & " where orderraderId="&rad
myconn.execute(strsql)
Nollan kommer alltså inte med när jag uppdaterar databasen.
/MariaSv: Decimalproblem
<code>
if rs("antal") = 10000 then pris = 0.418 '418:-/1000
strsql ="UPDATE orderraderTbl SET pris = " & Replace(pris, ",", ".") & " WHERE orderraderId=" & rad
myconn.execute strsql
</code>
Ska det verkligen jämföras med 10000 och inte 1000?Sv: Decimalproblem
Andreas har helt rätt i att det är din decimalseparator som är problemet. Sverige
använder , - vilket är 1000-tals separator i engelskan, därför kommer inte nollan med
den är inte signifikant.
. som är 1000-tals separator i svenskan är däremot decimalseparator i engelskan - så
det är bara att köra en search och replace...
/EmmaSv: Decimalproblem
Tror jag blir galen på det här snart....
/MariaSv: Decimalproblem
Det borde lösa det, bekräfta det hela med en Response.Write istället för DB exekvering
<code>
CDbl(Replace(pris, "",""))
Response.Write "Priset: " & pris
</code>Sv: Decimalproblem
När jag har lagt in priset ska jag hämta ut allting med select sum(pris) och därefter räkna ut den totala momsen , se nedanstående kod:
total.Open "SELECT sum(pris) as summa FROM totalPrice WHERE orderid="&orderid,myconn,1,2
totalsumma = total("summa")
vat = totalsumma * 0.25
Får då ett felmeddelande som lyder:
The sum or average aggregate operation cannot take a char data type as an argument.
Hur gör jag om det till en int från databasen?
MariaSv: Decimalproblem
att rekommendera eftersom du bara får ut heltalsdelen...
/EmmaSv: Decimalproblem
Sv: Decimalproblem
Testa med
SELECT sum(Cast(pris as Decimal)) as summa FROM totalPrice WHERE orderid="&orderid " AND IsNumeric(pris) = 1",myconn,1,2
Borde funka med Cast(pris as float) också....
/Tommie