> For the complete documentation index, see [llms.txt](https://www.monosor.dev/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://www.monosor.dev/courses/ruby/numbers-and-string.md).

# ตัวเลข และชุดอักขระ

## ตัวเลข

ตัวเลขของภาษา Ruby มีสองแบบหลักๆ คือจำนวนเต็ม และแบบมีทศนิยม

จำนวนเต็มจะเรียกว่า **Integer** หรือ **Fixed** เช่น `0`, `112`, `-256`

เลขทศนิยมจะเรียกว่า **Float** หรือ **Double** หรือ **Decimal** เช่น `3.5`, `100.0`

การคำนวนด้วยตัวเลขจะใช้ตัว `+` แทนการบวก `-` แทนการลบ `*` แทนการคูณ และ `/` แทนการหาร&#x20;

![ทดลองรันบน irb](/files/-MR08h7ZxPtqqBRWqbyk)

![ทดลองรันด้วยเว็บ repl.it](/files/-MR08SONtGFoXD-aQexo)

ถ้ารันบน repl.it แล้วไม่เห็นบน ให้ใส่ `puts` เพื่อพิมพ์ค่าออกมาใน Console (ช่องทางขวาสีดำๆ) แต่ถ้ารันใน irb ซึ่งจะรันโค้ดเราทีละบรรทัด ไม่ต้องใส่ `puts` ก็ได้

การพิมพ์คำสั่งในการคำนวณเลข จะเว้นวรรค (Space) ระหว่างตัวเลขและสัญลักษณ์อย่างไรก็ได้ ดังภาพ (แต่ต้องเว้นวรรคกับคำสั่ง `puts` มิเช่นนั้นโปรแกรมจะทำงานผิดพลาด (Error)

![puts4+5 จะ Error เพราะเลข 4 อยู่ติดกับคำสั่ง puts](/files/-MR0AO7hNx2PRebgrOSE)

### ลำดับการคำนวณเลข

การคำนวณเลขจะมีมากกว่า 2 พจน์ก็ได้ แต่ลำดับการคำนวณจะมีลำดับขั้นอยู่ โดยตัวคูณและหารจะทำก่อนบวกและลบเสมอ ยกเว้นจะใช้วงเล็บ `( )` ในการกำกับ โปรแกรมจะคำนวณภายในวงเล็บก่อน

![ลองคิดตามดู ว่าได้ตรงกับที่คิดไว้หรือไม่](/files/-MR0Bv55AzHFR8XcuvFD)

### การหารเลขจำนวนเต็ม

สำหรับการหารในเลขจำนวนเต็มนั้น ถ้ามีเศษ **เศษจะถูกปัดทิ้งเสมอ**

![5 / 2 = 2.5 -> ปัดเศษทิ้งเหลือ 2](/files/-MR0D-u2lmGE9lYuDEdp)

### เลขทศนิยม

สำหรับเลขทศนิยมจะคำนวณได้เหมือนกับจำนวนเต็มทุกอย่าง โดยจะใช้คำนวณผสมกับจำนวนเต็มก็ได้ แต่ค่าที่ได้จะกลายเป็นทศนิยมไปด้วย

![การคำนวณกับเลขทศนิยม](/files/-MR0E5iTh7U8l87FUiUq)

### การแปลงประเภทของตัวเลข

เราสามารถแปลงจาก Integer เป็น Float หรือ Float เป็น Integer ได้ด้วยคำสั่ง `.to_f` และ `.to_i` ตามลำดับ (หากแปลงจาก Float เป็น Integer เศษทศนิยมจะถูกปัดทิ้งเช่นเดียวกับการหาร)

![ตัวอย่างการแปลงด้วย .to\_f เป็น Float และ to\_i เป็น Integer](/files/-MR0FC1ypzWHrfn9RMpX)

## ชุดอักขระ

ชุดอักขระ หรือภาษาอังกฤษจะเรียกว่า String (สตริง) เป็นชุดของตัวหนังสือนั่นเอง (โดยในภาษาอื่นๆ อาจมีเป็นตัวอักระตัวเดียวหรือ Character ด้วย แต่ใน Ruby จะมีแต่ String อย่างเดียว)

วิธีสร้าง String ก็ง่ายๆ ให้ครอบคำด้วยเครื่องหมายคำพูด แบบ Single Quote `' '` หรือ Double Quote `" "` ก็ได้

![สร้าง String ด้วยการครอบด้วย ' หรือ "](/files/-MR0GMyMhcFS-opcd3E4)

### แถม : ปั๊ม String ด้วยการคูณ

ในภาษา Ruby นั้นเราสามารถเอาตัวเลขไปคูณกับ String ได้! (แต่ต้องเอาตัวเลขไว้ด้านหลังเท่านั้นนะ)

![](/files/-MR0I-GbdbSmpGucp3XI)

ในตอนหน้าเราจะมาเล่นกับ String กันต่อ โดยจะมีเรื่องของ Method ด้วย
