09/12/2009, 23:17
Arkadaşlar birçok sayı alanının bulunduğu bir çalışma yapıyorum fakat bazı dört işlem sonuçları hatalı oluyor sebebi sanırım yuvarlamadan kaynaklanıyor.Bir üstadın verdiği kodu kullanamadım bu kodun nasıl kullanılacağı konusunda veya diğer alternatif olabilecek bilgiler verirseniz sevinirim.
Kod : Function RoundA(Sayi, Optional Basamak As Long)
Kat& = 10 ^ Abs(Basamak)
If Basamak >= 0 Then RoundA = CDbl(FormatNumber(Left(Sayi, 30), Basamak))
If Basamak < 0 Then RoundA = CDbl(RoundA(FormatNumber(Left(Sayi, 30) / Kat), 0) * Kat)
End Function
Kod : Function RoundA(Sayi, Optional Basamak As Long)
Kat& = 10 ^ Abs(Basamak)
If Basamak >= 0 Then RoundA = CDbl(FormatNumber(Left(Sayi, 30), Basamak))
If Basamak < 0 Then RoundA = CDbl(RoundA(FormatNumber(Left(Sayi, 30) / Kat), 0) * Kat)
End Function