สอบถามค่า python มีฟังก์ชั่นปัดเศษเหมือน Roundup ของ google sheet ไหมคะ

แนะนำ สอบถาม ภาษา C สำหรับผู้เริ่มต้น ภาษา Java ภาษา Python

Moderator: mindphp, ผู้ดูแลกระดาน

ภาพประจำตัวสมาชิก
MBMoo
PHP VIP Members
PHP VIP Members
โพสต์: 25367
ลงทะเบียนเมื่อ: 04/06/2020 10:05 am

สอบถามค่า python มีฟังก์ชั่นปัดเศษเหมือน Roundup ของ google sheet ไหมคะ

โพสต์ที่ยังไม่ได้อ่าน โดย MBMoo »

สอบถามค่า python มีฟังก์ชั่นปัดเศษเหมือน Roundup ของ google sheet ไหมคะ

ต้องการให้ปัดขึ้นโดยสามารถระบุได้ด้วยว่าต้องการทศนิยมกี่ตำแหน่งค่ะ

เช่น
roundup(1.362,2) ก็จะได้ 1.37
roundup(1.362,0) ก็จะได้ 2

แต่ที่เจอใน python หากใช้ round มีให้ระบุหลักก็จริง แต่จะเป็นการปัดตามจริงค่ะ ถ้าน้อย น้อยกว่า 5 จะปัดลงให้เลย
เช่น
round(1.362, 2) ก็จะได้ 1.36
round(1.362, 0) ก็จะได้ 1


และถ้าใช้ math.ceil จะไม่สามารถระบุได้ค่ะว่าจะเอากี่ตำแหน่ง


อยากได้แบบทั้งระบุหลักได้และปัดขึ้นด้วยค่ะ
ภาพประจำตัวสมาชิก
MBMoo
PHP VIP Members
PHP VIP Members
โพสต์: 25367
ลงทะเบียนเมื่อ: 04/06/2020 10:05 am

Re: สอบถามค่า python มีฟังก์ชั่นปัดเศษเหมือน Roundup ของ google sheet ไหมคะ

โพสต์ที่ยังไม่ได้อ่าน โดย MBMoo »

ใช้

โค้ด: เลือกทั้งหมด


import math
factor = 10 ** หลัก
# factor = 10 ** 0 = 1  
# factor = 10 ** 2 = 100 
print(math.ceil(1.362 * factor) / factor)


รูปแบบการทำงาน
factor = 10 ** 2 = 100
math.ceil(1.362 * 100) = 137
137 / 100 = 1.37
ภาพประจำตัวสมาชิก
mindphp
ผู้ดูแลระบบ MindPHP
ผู้ดูแลระบบ MindPHP
โพสต์: 41131
ลงทะเบียนเมื่อ: 22/09/2008 6:18 pm
ติดต่อ:

Re: สอบถามค่า python มีฟังก์ชั่นปัดเศษเหมือน Roundup ของ google sheet ไหมคะ

โพสต์ที่ยังไม่ได้อ่าน โดย mindphp »

ปรับอีกหน่อย ใช้ math.ceil ถูกแล้ว หลักการเอาตัวคูณ 10 กับจำนวนหน่วยที่จะปัดเข้ามาช่วย ใน javascript ก็เจอปัญหาคล้ายๆ กันนี้
สร้างเป็นฟังก์ชั่นไว้ใช้งาน

โค้ด: เลือกทั้งหมด

import math
def roundup(number, digits):
    multiplier = 10 ** digits
    rounded_number = math.ceil(number * multiplier) / multiplier 
    if digits == 0
       roundup = int(rounded_number)
    else 
       roundup = rounded_number
    return roundup

code ตัวอย่างยังไม่ได้ลองรันนะครับ
ติดตาม VDO: http://www.youtube.com/c/MindphpVideoman
ติดตาม FB: https://www.facebook.com/pages/MindphpC ... 9517401606
หมวดแชร์ความรู้: https://www.mindphp.com/forums/viewforum.php?f=29
รับอบรม และพัฒนาระบบ: https://www.mindphp.com/forums/viewtopic.php?f=6&t=2042
ตอบกลับโพส
  • Similar Topics
    ตอบกลับ
    แสดง
    โพสต์ล่าสุด

ผู้ใช้งานขณะนี้

สมาชิกกำลังดูบอร์ดนี้: Google [Bot] และบุคลทั่วไป 35