Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Zaokraglanie liczb

2 views
Skip to first unread message

su...@student.man.radom.pl

unread,
Jan 5, 2001, 5:09:45 AM1/5/01
to
Jak zaokraglic liczbe do 2 miejsc i reszte po przecinku uciac.

i jescze jedno pytanie: jezeli w formularzu mam liczbe wyswietlana z
dokladnoscia 2 miejsc to czy do obliczen jest brana cała liczba czy to co widac
w polu (po wcisnieciu na pole z wlasciwoscia 2 miejsc po przecinku jezeli ona
jest dluzsza to pojawia sie cala)

Pozdrawiam
MIREK

--
Wysłano z serwisu OnetNiusy: http://niusy.onet.pl

Krzysztof Naworyta

unread,
Jan 5, 2001, 5:38:51 AM1/5/01
to

> Jak zaokraglic liczbe do 2 miejsc i reszte po przecinku uciac.

http://web.pertus.com.pl/~stanley/faq/P004.htm

>
> i jescze jedno pytanie: jezeli w formularzu mam liczbe wyswietlana z
> dokladnoscia 2 miejsc to czy do obliczen jest brana cała liczba czy to co
widac
> w polu (po wcisnieciu na pole z wlasciwoscia 2 miejsc po przecinku jezeli
ona
> jest dluzsza to pojawia sie cala)
>

A jak myślisz ?
Uruchom przy otwartym formularzu okno Analizy programu (Ctr + G) i wpisz:
? Forms!NazwaTwojegoFormularza!NazwaTwojegoPola
i Enter
Potem możesz popróbować z wyrażeniami:
? 1 * Forms!NazwaTwojegoFormularza!NazwaTwojegoPola
? Forms!NazwaTwojegoFormularza!NazwaTwojegoPola /1
itd

Format to format - czyli jedynie sposób wyświetlania.

KN

--
Archiwum grupy http://niusy.onet.pl/pl.comp.bazy-danych.msaccess

jerzyn

unread,
Jan 5, 2001, 11:18:29 AM1/5/01
to

Użytkownik <su...@student.man.radom.pl> napisał w wiadomości
news:79e8.000000...@newsgate.onet.pl...

> Jak zaokraglic liczbe do 2 miejsc i reszte po przecinku uciac.
>
> i jescze jedno pytanie: jezeli w formularzu mam liczbe wyswietlana z
> dokladnoscia 2 miejsc to czy do obliczen jest brana cała liczba czy to co
widac
> w polu (po wcisnieciu na pole z wlasciwoscia 2 miejsc po przecinku jezeli
ona
> jest dluzsza to pojawia sie cala)
>
> Pozdrawiam
> MIREK
>

Co do pierwszego pytania to właśnie tutaj widać wyższość Accessa2000 -
wystarczy przy właściwości pola w tablicy wybrać skala 2 i po sprawie.
jerzyn


Krzysztof Naworyta

unread,
Jan 6, 2001, 9:08:27 AM1/6/01
to
> Co do pierwszego pytania to właśnie tutaj widać wyższość Accessa2000 -
> wystarczy przy właściwości pola w tablicy wybrać skala 2 i po sprawie.
> jerzyn
>

równie dobrze można udowodnic wyższość wąsaczy nad brodaczami ...


Leo

unread,
Jan 12, 2001, 2:33:42 AM1/12/01
to
Użytkownik "Krzysztof Naworyta" <k.naw...@datacomp.com.pl> napisał w
wiadomości news:005701c07703$b68ee840$3d01...@datacomplan.com.pl...

Biorąc pod uwagę wywód nt. teorii zaokrągleń (przedstawiony na
http://web.pertus.com.pl/~stanley/faq/P004.htm), jak również wcześniejsze
sugestie grupowiczów w niniejszym temacie, funkcję pozwalającą na poprawne
zaokrąglenia do dowolnej liczby miejsc po przecinku należałoby chyba (?)
skonstruować jak następuje:

Public Function ZL(ByVal Liczba As Variant, ByVal Miejsca As Integer) As
Variant
Const TITLEBAR = ""
Dim l1, l2
l1 = Liczba * 10 ^ Miejsca
If l1 - Int(l1) <> 0.5 Then
ZL = Int(l1 + 0.5) / 10 ^ Miejsca
ElseIf l1 - Int(l1) = 0.5 Then
ZL = CLng(l1) / 10 ^ Miejsca
End If

End Function

Leo

kpie...@poczta.onet.pl

unread,
Jan 12, 2001, 6:25:55 AM1/12/01
to
> Biorąc pod uwagę wywód nt. teorii zaokrągleń (przedstawiony na
> http://web.pertus.com.pl/~stanley/faq/P004.htm), jak również wcześniejsze
> sugestie grupowiczów w niniejszym temacie, funkcję pozwalającą na poprawne
> zaokrąglenia do dowolnej liczby miejsc po przecinku należałoby chyba (?)
> skonstruować jak następuje:
>
> Public Function ZL(ByVal Liczba As Variant, ByVal Miejsca As Integer) As
> Variant
> Const TITLEBAR = ""
> Dim l1, l2
> l1 = Liczba * 10 ^ Miejsca
>    If l1 - Int(l1) <> 0.5 Then
>        ZL = Int(l1 + 0.5) / 10 ^ Miejsca
>    ElseIf l1 - Int(l1) = 0.5 Then
>        ZL = CLng(l1) / 10 ^ Miejsca
>    End If
>
> End Function
>

ja bym to zrobil tak
Public Function ZL(ByVal Liczba As Variant, ByVal Miejsca As Integer) As Double
ZL = Int(Liczba * 10 ^ Miejsca + 0.5) / 10 ^ Miejsca
End Function

szybko i bez if'ow

Pozdrowienia Bohun

0 new messages