|
| Decimaler Fra : Anders Holm Jensen |
Dato : 17-01-02 16:59 |
|
Hej
Hvordan for jeg et tal med to decimaler fra et Edit.text felt. Og der skal
kun rundes op til nærmeste lige decimal. eks. 8,756 til 8,88 ?
--
Hilsen AHJ
| |
Finn Bindeballe (17-01-2002)
| Kommentar Fra : Finn Bindeballe |
Dato : 17-01-02 19:16 |
|
hej der
se her....
function Ceil(X: Extended):Integer;
den returnere en int, men du kan gange dit tal med 100, og saa bruge Ceil, og
saa dele resultatet med 100.....
besværligt....men til
/finn
Anders Holm Jensen wrote:
> Hej
>
> Hvordan for jeg et tal med to decimaler fra et Edit.text felt. Og der skal
> kun rundes op til nærmeste lige decimal. eks. 8,756 til 8,88 ?
>
> --
> Hilsen AHJ
| |
PL (18-01-2002)
| Kommentar Fra : PL |
Dato : 18-01-02 01:23 |
|
Løsning:
Ønsker du en String-resultat, så ser skal du gøre følgende:
FormatFloat('0.00', StrToFloat(Edit.text))
eks.: FormatFloat('0.00', StrToFloat('8,756')) = '8,76' og ikke 8,88, som du
skrev
Hvis du skal bruge resultatet til at regne videre med, skal du gøre
følgende:
int(StrToFloat(Edit.text) * 100 + 0.5)/100 // 100 giver MAX 2 decimaler
Eks. 1: int(StrToFloat('8,756') * 100 + 0.5)/100 = 8.76 en Real type
Eks. 2: int(StrToFloat('8,704') * 100 + 0.5)/100 = 8.70 en Real type
Vær hilset
PL
"Anders Holm Jensen" <ahjmw@stofanet.dk> skrev i en meddelelse
news:3c46f4ab$0$245$ba624c82@nntp03.dk.telia.net...
> Hej
>
> Hvordan for jeg et tal med to decimaler fra et Edit.text felt. Og der skal
> kun rundes op til nærmeste lige decimal. eks. 8,756 til 8,88 ?
>
> --
> Hilsen AHJ
>
>
| |
Anders Holm Jensen (18-01-2002)
| Kommentar Fra : Anders Holm Jensen |
Dato : 18-01-02 10:45 |
|
Hej
Det var en skrive fejl før, der skulle stå 8,856.
Tak for svarene !!
Hilsen AHJ
"PL" <jessie-peter@get2net.dk> skrev i en meddelelse
news:a27pvc$24o$1@sunsite.dk...
> Løsning:
> Ønsker du en String-resultat, så ser skal du gøre følgende:
> FormatFloat('0.00', StrToFloat(Edit.text))
> eks.: FormatFloat('0.00', StrToFloat('8,756')) = '8,76' og ikke 8,88, som
du
> skrev
>
> Hvis du skal bruge resultatet til at regne videre med, skal du gøre
> følgende:
> int(StrToFloat(Edit.text) * 100 + 0.5)/100 // 100 giver MAX 2 decimaler
> Eks. 1: int(StrToFloat('8,756') * 100 + 0.5)/100 = 8.76 en Real type
> Eks. 2: int(StrToFloat('8,704') * 100 + 0.5)/100 = 8.70 en Real type
>
> Vær hilset
> PL
>
>
> "Anders Holm Jensen" <ahjmw@stofanet.dk> skrev i en meddelelse
> news:3c46f4ab$0$245$ba624c82@nntp03.dk.telia.net...
> > Hej
> >
> > Hvordan for jeg et tal med to decimaler fra et Edit.text felt. Og der
skal
> > kun rundes op til nærmeste lige decimal. eks. 8,756 til 8,88 ?
> >
> > --
> > Hilsen AHJ
> >
> >
>
>
| |
Thomas Due (21-01-2002)
| Kommentar Fra : Thomas Due |
Dato : 21-01-02 08:13 |
|
> Løsning:
> Ønsker du en String-resultat, så ser skal du gøre følgende:
> FormatFloat('0.00', StrToFloat(Edit.text))
> eks.: FormatFloat('0.00', StrToFloat('8,756')) = '8,76' og ikke 8,88, som du
> skrev
>
> Hvis du skal bruge resultatet til at regne videre med, skal du gøre
> følgende:
Du skal så lige være opmærksom på at hvis det er i forbindelse med
regnskab i en eller anden forstand. Altså et beløb med moms osv. så
må du IKKE afrunde til to decimaler før du er færdig med din udregning.
F.eks.
Et beløb : 342.2564500 kr.
Moms udgør : 85.5641125 kr.
Ialt : 427,8205625 kr.
Afrundet bliver det så :
Beløb : 342.26 kr.
Moms : 85.56 kr.
Ialt : 427.82 kr.
I dette tilfælde gør det ingen forskel, men i andre kan det give en
afvigelse på en øre eller sågar to. Derfor må du ikke afrunde før
tallene er færdigberegnet.
Mvh
Thomas
| |
|
|