PL/SQL deki TRUNC fonksiyonu ile setScale(2, BigDecimal.ROUND_FLOOR) metodu aynı işi mi yapıyor?

soruldu: 29 Haz '12, 08:02

mhkoca60's gravatar image

mhkoca60
1.8k264554
cevap kabul oranı: 15%

değiştirildi: 29 Haz '12, 08:32


Aslında pl/sql'de Truncate ile trunc ayrı komutlar. Sizin bahsettiğiniz fonksiyon trunc fonksiyonu olmalı. Truncate komutu bir tablonun içeriğinin tümünü boşaltmak amaçlı kullanılıyor. Öncelikle bunları karıştırmamak gerek. Sorunuza gelince;

Evet setScale doğru metot. Ancak RoundingMode'un trunc ile aynı işi yapabilmesi için HALF_UP olması gerekiyor. ROUND_FLOOR derseniz aşağı yuvarlayacaktır.

Elimizde 1.01234 gibi bir sayı olduğunu düşünelim.

BigDecimal sayi= new BigDecimal("1.01234");
sayi.setScale(2, RoundingMode.HALF_UP));

Sonucunda 1.01 döner.

Aynı şekilde

trunc(1.01234,2)

1.01 sonucunu döner.

Burada yalnızca RoundingMode'a dikkat etmek gerekiyor. RoundingMode ile ilgili detaylı bilgiye de buradan erişebilirsiniz.

permanent link

cevaplandı: 29 Haz '12, 08:23

mabulgu's gravatar image

mabulgu ♦
2.8k43040
cevap kabul oranı: 26%

değiştirildi: 29 Haz '12, 08:27

Öncelikle teşekkürler... Haklısınız trunc fonksiyonunu söylemeye çalışmıştım. Benim amacım yuvarlamadan kesmek. Örneğin 1,037 sayısını 1,03'e çevirmek.

Eğer aşağıya yuvarlıyorsa doğru yoldayım demektir.

(29 Haz '12, 08:31) mhkoca60 mhkoca60's gravatar image

Size cevap olarak verdiğim kod örneği bu işi yapmakta. RoundingMode.HALF_UP olarak bir deneyin derim. Ayrıca verdiğim RoundingMode listesine de mutlaka bir göz atın.

(29 Haz '12, 08:33) mabulgu ♦ mabulgu's gravatar image
Cevabınız
toggle preview

Bu soruyu takip et

E-Posta üzerinden:

Üyelik girişi yaptıktan sonra abonelik işlemlerini yapabilirsiniz

RSS üzerinden:

Cevaplar

Cevaplar ve Yorumlar

Yazı Formatlama

  • *italic* ya da _italic_
  • **bold** ya da __bold__
  • link:[text](http://url.com/ "başlık")
  • resim?![alt text](/path/img.jpg "başlık")
  • liste: 1. Foo 2. Bar
  • temel HTML etiketleri de kullanılabilir

Bu sorunun etiketleri:

×1,079
×7

Soruldu: 29 Haz '12, 08:02

Görüntüleme: 2,761 kez

Son güncelleme: 29 Haz '12, 08:33

powered by BitNami OSQA