TRUNC()
dirancang untuk menghapus bagian desimal dari angka apa pun segera dan tanpa modifikasi ke bagian non-desimal.
Jadi, sesuai jawaban LinYan , Anda hanya perlu menggunakan:
TRUNC(A1)
untuk mendapatkan bagian integer dari nilai dalam A1
A1-TRUNC(A1)
untuk mendapatkan bagian pecahan dari nilai dalam A1
Tidak seperti FLOOR()
, TRUNC()
bekerja pada angka positif dan negatif tanpa memerlukan penyesuaian, dan bekerja dengan cara yang sama di Microsoft Excel dan LibreOffice.
FLOOR()
membutuhkan parameter signifikansi untuk memiliki tanda yang sama dengan angka yang sedang diproses (atau yang akan menimbulkan kesalahan), sehingga 1
pada akhirnya harus diubah -1
untuk memproses angka negatif, atau Anda dapat memasukkan SIGN()
dan memperumit rumus lebih lanjut tanpa perlu.
Dan, di OpenOffice dan LibreOffice, FLOOR()
juga memiliki parameter "mode" ketiga tambahan (dibandingkan dengan Excel) yang mengubah hasil yang fungsinya mengembalikan angka negatif.
Misalnya, bayangkan A1 adalah 167,583:
int(A1)
akan memberi 167 danmod(A1,1)
akan memberikan 0,583.sumber
int(1.6) === 1
danint(-1.6) === -2
... Tetapitrunc(decimal;0)
bekerja dengan baik untuk keduanya.Jangan berpikir ada fungsi khusus untuk melakukan ini, namun dengan bersarang pasangan Anda bisa.
Asumsikan Anda mencoba mengembalikan nilai desimal kanan untuk sel A1, rumusnya adalah:
Secara efektif yang Anda lakukan di sini adalah menggunakan fungsi MID untuk mengembalikan sejumlah karakter mulai dari titik desimal. Ketiga referensi ke A1 perlu diperbarui untuk setiap sel yang Anda targetkan agar berfungsi dengan benar.
sumber
bukankah ini sempurna, dan estetis juga?
sumber