|
| valuta formateres forkert Fra : Otto |
Dato : 14-10-06 07:58 |
|
Hej
Jeg har et website www.nytebod.adk hvor jeg skal indsætte 1/3 af et beløb i
DB'en. Det går også fint sålænge beløbet kan deles lige med 1/3 f.eks 600 *
1/3 , men når der kommer decimaler på så kan 1/3 af f.eks 7120 blive til
noget a la 237.333.333.333.333,00
jeg laver beregningen sådan:
amount = (pris * 0.33)
har også prøvet med
amount = (pris * 1/3)
men begge dele giver problemer med beløb hvor 3 ikke går op
datatypen i DB ( Access) er sat til valuta
Håber en af jer kan hjælpe mig
på forhånd tak
Otto
| |
Ukendt (14-10-2006)
| Kommentar Fra : Ukendt |
Dato : 14-10-06 08:37 |
|
Hej Otto
Prøv at bruge "Round ( beløb, antaldecimaler)" funktionen.
amount = Round ( pris * 1/3 , 2 )
--
Venligste hilsener - Jakob Lund Krarup (MCSD.Net)
mail: KR snabela RUP punktum DK
http://www.dotnetteacher.dk - .net programmering
http://www.jake.dk - en personlig hjemmeside
"Otto" <ottoleholt@tele.dk> skrev i en meddelelse
news:45308aa4$0$150$edfadb0f@dread11.news.tele.dk...
> Hej
> Jeg har et website www.nytebod.adk hvor jeg skal indsætte 1/3 af et beløb
> i DB'en. Det går også fint sålænge beløbet kan deles lige med 1/3 f.eks
> 600 * 1/3 , men når der kommer decimaler på så kan 1/3 af f.eks 7120 blive
> til noget a la 237.333.333.333.333,00
>
> jeg laver beregningen sådan:
> amount = (pris * 0.33)
> har også prøvet med
> amount = (pris * 1/3)
> men begge dele giver problemer med beløb hvor 3 ikke går op
>
> datatypen i DB ( Access) er sat til valuta
>
> Håber en af jer kan hjælpe mig
> på forhånd tak
> Otto
>
>
| |
Otto (14-10-2006)
| Kommentar Fra : Otto |
Dato : 14-10-06 09:00 |
|
"Jakob Lund Krarup" <kr-snabela-rup.dk> skrev i en > Prøv at bruge "Round
( beløb, antaldecimaler)" funktionen.
>
> amount = Round ( pris * 1/3 , 2 )
Hje Jacob - tak forr respons , men desværre
1/3 af 7.120,00 bliver nu 237.333,00 !
andre forslag ..???
hilsen otto
| |
Ukendt (14-10-2006)
| Kommentar Fra : Ukendt |
Dato : 14-10-06 09:12 |
|
Hm... det eneste jeg lige kan komme på, er at gange med hundrede, for at
gøre de to største decimaler til heltal, smide resterende decimaler væk, og
så dividere med hundrede igen. Grimt - men det burde virke (det gør det her
i min testfil)
Function TilToDecimaler ( ByVal Tallet )
Tallet = Tallet * 100
Tallet = Cint ( Tallet )
TilToDecimaler = Tallet / 100
End Function
Og herefter:
amount = TilToDecimaler (pris * 1/3)
--
Venligste hilsener - Jakob Lund Krarup (MCSD.Net)
mail: KR snabela RUP punktum DK
http://www.dotnetteacher.dk - .net programmering
http://www.jake.dk - en personlig hjemmeside
"Otto" <ottoleholt@tele.dk> skrev i en meddelelse
news:45309907$0$163$edfadb0f@dread11.news.tele.dk...
>
> "Jakob Lund Krarup" <kr-snabela-rup.dk> skrev i en > Prøv at bruge "Round
> ( beløb, antaldecimaler)" funktionen.
>>
>> amount = Round ( pris * 1/3 , 2 )
>
> Hje Jacob - tak forr respons , men desværre
> 1/3 af 7.120,00 bliver nu 237.333,00 !
>
> andre forslag ..???
> hilsen otto
>
>
| |
Ukendt (14-10-2006)
| Kommentar Fra : Ukendt |
Dato : 14-10-06 09:14 |
|
Her er den i en mere generel udgave, så du kan medsende antal decimaler
Function Afrund ( ByVal Tallet , ByVal AntalDecimaler)
dim faktor
faktor = 10 * AntalDecimaler
Tallet = Tallet * faktor
Tallet = Cint ( Tallet )
TilToDecimaler = Tallet / faktor
End Function
--
Venligste hilsener - Jakob Lund Krarup (MCSD.Net)
mail: KR snabela RUP punktum DK
http://www.dotnetteacher.dk - .net programmering
http://www.jake.dk - en personlig hjemmeside
"Otto" <ottoleholt@tele.dk> skrev i en meddelelse
news:45309907$0$163$edfadb0f@dread11.news.tele.dk...
>
> "Jakob Lund Krarup" <kr-snabela-rup.dk> skrev i en > Prøv at bruge "Round
> ( beløb, antaldecimaler)" funktionen.
>>
>> amount = Round ( pris * 1/3 , 2 )
>
> Hje Jacob - tak forr respons , men desværre
> 1/3 af 7.120,00 bliver nu 237.333,00 !
>
> andre forslag ..???
> hilsen otto
>
>
| |
Jørn Andersen (14-10-2006)
| Kommentar Fra : Jørn Andersen |
Dato : 14-10-06 13:21 |
|
On Sat, 14 Oct 2006 10:14:21 +0200, "Jakob Lund Krarup"
<kr-snabela-rup.dk> wrote:
>Her er den i en mere generel udgave, så du kan medsende antal decimaler
>
>Function Afrund ( ByVal Tallet , ByVal AntalDecimaler)
>
> dim faktor
> faktor = 10 * AntalDecimaler
Skal det ikke være:
faktor = 10 ^ AntalDecimaler
- ?
> Tallet = Tallet * faktor
> Tallet = Cint ( Tallet )
> TilToDecimaler = Tallet / faktor
>
>End Function
--
Jørn Andersen,
Brønshøj
| |
Ukendt (14-10-2006)
| Kommentar Fra : Ukendt |
Dato : 14-10-06 17:21 |
|
> Skal det ikke være:
> faktor = 10 ^ AntalDecimaler
Jow - det skal det : )
....ahem - her vil på strategisk vis undlade at fortælle at jeg er uddannet
matematiklærer - hehe ;- )
Virkede det?
Venligste hilsener - Jakob Lund Krarup (MCSD.Net)
mail: KR snabela RUP punktum DK
http://www.dotnetteacher.dk - .net programmering
http://www.jake.dk - en personlig hjemmeside
"Jørn Andersen" <jorn@jorna.dk> skrev i en meddelelse
news:0gl1j2hidmuj85cto3jkm95prpq47htik9@4ax.com...
> On Sat, 14 Oct 2006 10:14:21 +0200, "Jakob Lund Krarup"
> <kr-snabela-rup.dk> wrote:
>
>>Her er den i en mere generel udgave, så du kan medsende antal decimaler
>>
>>Function Afrund ( ByVal Tallet , ByVal AntalDecimaler)
>>
>> dim faktor
>> faktor = 10 * AntalDecimaler
>
> Skal det ikke være:
> faktor = 10 ^ AntalDecimaler
> - ?
>
>> Tallet = Tallet * faktor
>> Tallet = Cint ( Tallet )
>> TilToDecimaler = Tallet / faktor
>>
>>End Function
>
> --
> Jørn Andersen,
> Brønshøj
| |
Jørn Andersen (14-10-2006)
| Kommentar Fra : Jørn Andersen |
Dato : 14-10-06 13:32 |
|
On Sat, 14 Oct 2006 08:58:15 +0200, "Otto" <ottoleholt@tele.dk> wrote:
>Jeg har et website www.nytebod.adk hvor jeg skal indsætte 1/3 af et beløb i
>DB'en. Det går også fint sålænge beløbet kan deles lige med 1/3 f.eks 600 *
>1/3 , men når der kommer decimaler på så kan 1/3 af f.eks 7120 blive til
>noget a la 237.333.333.333.333,00
Kommer 7120 fra databasen?
Eller fra en form/querystring?
>jeg laver beregningen sådan:
>amount = (pris * 0.33)
>har også prøvet med
>amount = (pris * 1/3)
>men begge dele giver problemer med beløb hvor 3 ikke går op
>
>datatypen i DB ( Access) er sat til valuta
Jeg har aldrig oplevet, at der er kommet noget godt ud af at bruge
Valuta som datatype. Brug et alm. talformat (fx Double).
Good luck!
--
Jørn Andersen,
Brønshøj
| |
|
|