การหารจำนวนแล้วเป็นทศนิยมให้ปัดเศษ
กระทู้เก่าบอร์ด อ.Yeadram

 8,636   4
URL.หัวข้อ / URL
การหารจำนวนแล้วเป็นทศนิยมให้ปัดเศษ

ทำอย่างไรกับการหารจำนวนเลข
ที่เมื่อออกมาแล้วมีค่าเป็นทศนิยม
แล้วต้องการปัดเศษให้เป็นจำนวนเงิน
เช่น 104 หาร 3 ได้ 34.6
ปัดเศษ เป็น 35
ขอบคุณล่วงหน้าครับ

4 Reply in this Topic. Dispaly 1 pages and you are on page number 1

1 @R08484
ทศนิยม จะมีในข้อมูล ชนิดที่เป็น Decimal หรือ Double
ถ้าต้องการเป็นจำนวนเต็ม ที่ไม่เคร่งเครียดมากนัก ก็ใช้วิธีแปลงข้อมูลชนิดนี้ไปเป็นชนิดจำนวนเต็ม
คืออาจจะแปลงเป็น integer ก็ใช้ฟังก์ชั่น int()
หรือ Long integer ก็ใช้ฟังก์ชั่น cLng()
เช่น   คำตอบ = int(104/3)

------------------
วิธีการที่สอง คือใช้เครื่องหมาย operator \ ( back-slash บางที่ผมอ่าน "หารกลับหลัง") เป็นเครื่องหมายที่บอกให้หาผลหารแบบไม่เอาเศษ
เช่น   คำตอบ = 104\3
-------------------
** ฟังก์ชั่นพวกนี้ มักจะปัดเศษลงนะครับ
------------------------------------------------

ส่วนพวกที่ชอบปัดเศษขึ้น ก็เช่น ฟังก์ชั่น round()
***ไม่มีคำว่าว่า up หรือ down ต่อท้ายเหมือนใน excel นะครับ***
ตัวอย่างการใช้ก็สั่งให้กำหนดจุดทศนิยมเป็น 0 ตำแหน่ง เช่น
   คำตอบ = round(104/3,0)

------------------------------
อีกแนวทางหนึ่ง ถ้าคุณเชื่อถือในฟังก์ชั่นของ Excel ก็ใช้วิธี import ฟังก์ชั่นของ Excel มาใช้ครับ ที่ใช้บ่อยก็คงเป็น RoundUp() หรือ RoundDown()
------------------------------

แต่ถ้ามีความจำเป็นต้อง ฟิกซ์ ว่าเศษเท่านี้ให้ปัดขึ้น เศษเท่านี้ให้ปัดลง ถ้าต้องการความละเอียดสูงๆ ปัจจุบันยังคงเป็นปัญหากันอยู่ ว่าฟังก์ชั่นใด (ที่ระบบให้มา) เหมาะสมที่สุด ถ้าไม่ใช่เขียนฟังก์ชั่นขึ้นใช้เอง ปรึกษา อ.สันติสุขครับ เห็นท่านศึกษาเรื่องพวกนี้ มาหลายปีแล้ว

2 @R08485
ขอบคุณอีกครั้งนะครับ
อ่านคำตอบในเวปนี้หลายคำตอบแล้ว
แต่ยังไม่เข้าใจ
ตอนนี้พอเข้าใจมากขึ้นแล้ว
3 @R08488
ต้องระวังให้ดี Round(2.5,0) = 2 นะครับ ไม่ใช่ 3 ดังนั้นผมจึงไม่ใช้ฟังก์ชั่น Round( ) และจากปัญหา http://www.thai-access.com/yeadram_view.php?topic_id=1943 ก็ทำให้ผมชักไม่ไว้ใจฟังก์ชั่น Int( ) เช่นกัน ตอนนี้ถ้าต้องการมากกว่า 0.5 ให้ปัดขึ้น ถ้าน้อยกว่าให้ปัดลง ที่ลองแล้วยังไม่มีปัญหาก็คือ

val(format(นิพจน์,"#")) สำหรับทศนิยม 0 ตำแหน่ง
val(format(นิพจน์,"#.#")) สำหรับทศนิยม 1 ตำแหน่ง
val(format(นิพจน์,"#.##")) สำหรับทศนิยม 2 ตำแหน่ง
4 @R15635
ขอบคุณมากคะ
@ ประกาศใช้งานเว็บบอร์ดใหม่ => บอร์ดเรียนรู้ Access สำหรับคนไทย
แล้วจะใส่ลิ้งอ้างอิงมาที่โพสต์เก่านี้หรือไม่ก็ตามสะดวกครับ
Time: 0.3985s