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

## ตัวเลข

ตัวเลขของภาษา 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 ด้วย


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://www.monosor.dev/courses/ruby/numbers-and-string.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
