.format() จัดรูปแบบตัวเลข วันที่ หรือข้อมูลให้เป็นสตริงอ่านง่ายตามรูปแบบที่ต้องการ เช่น เงินสด เปอร์เซ็นต์ หรือวันที่แบบต่างๆ
={{ $json.field.format(formatString) }}
={{ $json.field.format(formatString) }}
| Argument | Type | Required | Default | Description |
|---|---|---|---|---|
| formatString | string | Yes | รูปแบบการแสดงผล เช่น ‘$0,0.00’ สำหรับจำนวนเงิน ‘0.0%’ สำหรับเปอร์เซ็นต์ หรือ ‘YYYY-MM-DD’ สำหรับวันที่ |
จัดรูปแบบตัวเลขให้เป็นรูปแบบเงินสดพร้อมสัญลักษณ์
จัดรูปแบบวันที่ให้อ่านง่ายสำหรับผู้ใช้
{{ $json.amount.format('$0,0.00') }}={{ $json.amount.format('$0,0.00') }}
$1,500.50
{{ $json.percentage.format('0.0%') }}={{ $json.percentage.format('0.0%') }}
85.0%
{{ $json.revenue.format('0,0') }}={{ $json.revenue.format('0,0') }}
1,250,000
{{ $json.price.format('0.00') }}={{ $json.price.format('0.00') }}
99.99
.format() ใช้รูปแบบแบบกำหนดเองได้ยืดหยุ่น (เช่น ‘$0,0.00’) ส่วน .toLocaleString() ปรับตามเข็มขัดเวลา (locale) ของระบบ ผมชอบ .format() เวลาต้องควบคุมรูปแบบแน่นอน ใช้ใน Set Node ได้สบาย
.format() ใช้ได้ในทั้ง Set Node (ง่ายที่สุด) Code Node หรือ IF Node สำหรับ logic ที่ซับซ้อน แต่ผมแนะนำให้ใช้ Set Node มันง่ายและเร็วกว่า
รูปแบบทั่วไป: ‘$0,0.00’ สำหรับเงิน ‘0.0%’ สำหรับเปอร์เซ็นต์ ‘0,0’ สำหรับจำนวนเต็ม ถ้าต้องการรูปแบบเฉพาะ สามารถใช้ JavaScript format library ใน Code Node ได้
ใช้เวลาต้องส่งข้อมูลหรือแสดงผลให้เป็นสตริง เช่น ส่งไปยัง Email Slack หรือ Google Sheets และต้องให้อ่านง่าย ผมใช้ร่วมกับ IF Node เพื่อจัดรูปแบบแตกต่างกันตามเงื่อนไข
.format() จัดรูปแบบค่าต่างๆ เช่น ตัวเลข วันที่ เงิน หรือเปอร์เซ็นต์ ให้เป็นสตริงตามรูปแบบที่กำหนด เช่น `{{ $json.price.format(‘$0,0.00’) }}` จะแปลง 1500 เป็น “$1,500.00” หรือ `{{ $json.percentage.format(‘0.0%’) }}` จะแปลง 0.85 เป็น “85.0%”
ที่เจ๋งคือใช้ใน Set Node ได้เลย ไม่ต้องเขียน JavaScript เพื่อจัดรูปแบบข้อมูล เหมาะมากกับ workflow ที่ต้องแสดงผลข้อมูลในรูปแบบสวยงามสำหรับส่วน UI หรือ output เช่น ส่งข้อมูลไปยัง Slack Email หรือ Google Sheets ให้แสดงแบบอ่านง่าย
ส่วนตัวผมใช้บ่อยมากเวลาต้องส่งรายงานการเงินหรือข้อมูลตัวเลขให้ลูกค้า ใช้ .format() เพื่อให้ตัวเลขแสดงเป็นจำนวนเงินหรือเปอร์เซ็นต์ได้สวยงาม ประหยัดเวลาไปเยอะครับ