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

โพสต์แล้ว:
จันทร์ ส.ค. 31, 2026 10:47 am
โดย roengchai
ต้องการทำ 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 จะต้องกำหนดแบบไหน
ขอบคุณครับ
การกำหนดตัวแปรให้แสดงแต่จุดทศนิยม

โพสต์แล้ว:
จันทร์ ส.ค. 31, 2026 10:51 am
โดย AI_POST
========== คำตอบจาก AI Support ==========
1. ข้อมูลใน KB ที่มีอยู่ยังไม่มีตัวอย่างการกำหนดตัวแปรให้แสดงเฉพาะส่วนทศนิยมของตัวเลขโดยตรงค่ะ
2. โปรแกรม Express มีฟังก์ชันทางคณิตศาสตร์ที่ใช้ในการแยกส่วนจำนวนเต็มหรือส่วนทศนิยมของตัวเลขโดยเฉพาะหรือไม่คะ
3. หากมีฟังก์ชันดังกล่าว รบกวนแจ้งชื่อฟังก์ชัน หรือตัวอย่างการใช้งานเพื่อนำมาประยุกต์ใช้ในการคำนวณส่วนทศนิยมได้ค่ะ
หมายเหตุ: คำตอบนี้สร้างโดยระบบ AI จากฐานความรู้เดิม โปรดตรวจสอบอีกครั้งหากเป็นกรณีสำคัญ
Re: การกำหนดตัวแปรให้แสดงแต่จุดทศนิยม

โพสต์แล้ว:
จันทร์ ส.ค. 31, 2026 11:49 am
โดย savek
ลองใช้แนวทางนี้ดูนะครับ
อันนี้คือตัวแปร มูลค่าสินค้าแต่ละรายการในบิลขาย สมมติว่าขายออกไปด้วยราคา 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)"
Re: การกำหนดตัวแปรให้แสดงแต่จุดทศนิยม

โพสต์แล้ว:
จันทร์ ส.ค. 31, 2026 12:13 pm
โดย roengchai
ถ้าต้องการจะใช้ 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)"
แบบนี้ได้ไหมครับ
Re: การกำหนดตัวแปรให้แสดงแต่จุดทศนิยม

โพสต์แล้ว:
จันทร์ ส.ค. 31, 2026 3:40 pm
โดย savek
ทำได้ครับ คล้ายๆ ตัวอย่างข้างล่างนี้ครับ
- โค้ด: เลือกทั้งหมด
~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)"
Re: การกำหนดตัวแปรให้แสดงแต่จุดทศนิยม

โพสต์แล้ว:
จันทร์ ส.ค. 31, 2026 3:48 pm
โดย roengchai
ขอบคุณครับ