ขณะนี้อยู่ในช่วงการพัฒนาการตอบปัญหาด้วยระบบ AI หากไม่ได้รับความสะดวก กรุณาติดต่อฝ่ายบริการลูกค้า 02-217-3533

การกำหนดตัวแปรให้แสดงแต่จุดทศนิยม

หากท่านใดมีข้อสงสัยหรือคำถามเกี่ยวกับการใช้งานโปรแกรม Express สามารถเข้ามาสอบถามได้ที่นี่ครับ

Moderator: Sutas, Global Moderator, CO-Admin

การกำหนดตัวแปรให้แสดงแต่จุดทศนิยม

โพสต์โดย roengchai » จันทร์ ส.ค. 31, 2026 10:47 am

ต้องการทำ report ที่แสดงทำแปร ในส่วนของจุดทศนิยม อย่างเดียวทำได้ไหมครับ เช่น
~BAL: 0, "99,999.999", "BAL", "",G
~BAL1: 0, "99,999.999", "BAL1", "BAL1=BAL/170",J•
~BALDR: 0, "99,999", "BALDR", "BALDR=BAL/170",K•*แสดงในส่วนจำนวนเต็ม
~BALRE: 0, "zz.zzz", "BALRE", "BALRE=BALDR",L• *ต้องการแสดงเฉพาะในส่วนของจุดทศนิยม

ตัวแปร BALRE จะต้องกำหนดแบบไหน
ขอบคุณครับ
roengchai
Newbie
Newbie
 
โพสต์: 28
ลงทะเบียนเมื่อ: อังคาร ธ.ค. 13, 2016 1:45 pm

การกำหนดตัวแปรให้แสดงแต่จุดทศนิยม

โพสต์โดย AI_POST » จันทร์ ส.ค. 31, 2026 10:51 am

========== คำตอบจาก AI Support ==========

1. ข้อมูลใน KB ที่มีอยู่ยังไม่มีตัวอย่างการกำหนดตัวแปรให้แสดงเฉพาะส่วนทศนิยมของตัวเลขโดยตรงค่ะ
2. โปรแกรม Express มีฟังก์ชันทางคณิตศาสตร์ที่ใช้ในการแยกส่วนจำนวนเต็มหรือส่วนทศนิยมของตัวเลขโดยเฉพาะหรือไม่คะ
3. หากมีฟังก์ชันดังกล่าว รบกวนแจ้งชื่อฟังก์ชัน หรือตัวอย่างการใช้งานเพื่อนำมาประยุกต์ใช้ในการคำนวณส่วนทศนิยมได้ค่ะ

หมายเหตุ: คำตอบนี้สร้างโดยระบบ AI จากฐานความรู้เดิม โปรดตรวจสอบอีกครั้งหากเป็นกรณีสำคัญ
AI_POST
Jr. Member
Jr. Member
 
โพสต์: 59
ลงทะเบียนเมื่อ: ศุกร์ พ.ค. 01, 2026 6:57 am

Re: การกำหนดตัวแปรให้แสดงแต่จุดทศนิยม

โพสต์โดย savek » จันทร์ ส.ค. 31, 2026 11:49 am

ลองใช้แนวทางนี้ดูนะครับ

อันนี้คือตัวแปร มูลค่าสินค้าแต่ละรายการในบิลขาย สมมติว่าขายออกไปด้วยราคา 300.570
โค้ด: เลือกทั้งหมด
~NETAMT_I:  0,      "ZZ,ZZZ,ZZZ.ZZ",    "STCRD->TRNVAL",    ""


ถ้าจะดึงมาเฉพาะทศนิยม 570 ให้ใช้ฟังก์ชั่น STR เพื่อแปลงค่าตัวเลขให้เป็นตัวอักษรก่อน โดยจากตัวอย่างข้างล่างนี้ผมระบุให้แปลงเป็นตัวอักษร 12 ตัว ซึ่งรวมทศนิยม 3 ตำแหน่งอยู่ในนั้นด้วย
จากนั้นใช้ฟังก์ชั่น SUBSTR ตัดมาเฉพาะตัวเลขตั้งแต่ตำแหน่งที่ 10 โดยเอาค่ามาทั้งหมด 3 ตัวอักษร ก็จะได้ทศนิยม 570 มาครับ

โค้ด: เลือกทั้งหมด
~NET_DEC:   0,      "",                 "netdec",           "netdec = SUBSTR(STR(STCRD->TRNVAL,12,3),10,3)"
ภาพประจำตัวสมาชิก
savek
Administrator
Administrator
 
โพสต์: 12520
ลงทะเบียนเมื่อ: พฤหัสฯ. พ.ย. 15, 2007 11:04 am

Re: การกำหนดตัวแปรให้แสดงแต่จุดทศนิยม

โพสต์โดย roengchai » จันทร์ ส.ค. 31, 2026 12:13 pm

ถ้าต้องการจะใช้ function STR กับตัวแปรที่เราตั้งเองได้ไหมครับหรือจำเป็นจะต้องเป็น data ที่ดึงมาจาก database เช่นจากตัวอย่างของคุณ
~NETAMT_I: 0, "ZZ,ZZZ,ZZZ.ZZ", "STCRD->TRNVAL", ""
~NET_DEC: 0, "", "netdec", "netdec = SUBSTR(STR(STCRD->TRNVAL,12,3),10,3)"

ถ้าเปลี่ยนเป้น
~NET_DEC: 0, "", "netdec", "netdec = SUBSTR(STR(AETAMT_I,12,3),10,3)"

แบบนี้ได้ไหมครับ
roengchai
Newbie
Newbie
 
โพสต์: 28
ลงทะเบียนเมื่อ: อังคาร ธ.ค. 13, 2016 1:45 pm

Re: การกำหนดตัวแปรให้แสดงแต่จุดทศนิยม

โพสต์โดย savek » จันทร์ ส.ค. 31, 2026 3:40 pm

ทำได้ครับ คล้ายๆ ตัวอย่างข้างล่างนี้ครับ

โค้ด: เลือกทั้งหมด
~CHKAMT:    0,      "99,999,999.99",    "netamt",           "netamt = IIF( ARTRN->FLGVAT <> '1', ARTRN->NETAMT, ARTRN->TOTAL - ARTRN->VATAMT)"


โค้ด: เลือกทั้งหมด
~CHK_DEC:   0,      "",                 "chkdec",           "chkdec = SUBSTR(STR(netamt,12,3),10,3)"
ภาพประจำตัวสมาชิก
savek
Administrator
Administrator
 
โพสต์: 12520
ลงทะเบียนเมื่อ: พฤหัสฯ. พ.ย. 15, 2007 11:04 am

Re: การกำหนดตัวแปรให้แสดงแต่จุดทศนิยม

โพสต์โดย roengchai » จันทร์ ส.ค. 31, 2026 3:48 pm

ขอบคุณครับ
roengchai
Newbie
Newbie
 
โพสต์: 28
ลงทะเบียนเมื่อ: อังคาร ธ.ค. 13, 2016 1:45 pm


ย้อนกลับไปยัง ถาม-ตอบปัญหาเกี่ยวกับโปรแกรม Express

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

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