Một số nguyên tắt xử lý chuyển từ chữ sang số để tính tiền

Hướng dẫn một số nguyên tắt xử lý chuyển từ chữ sang số để tính tiền

  1. Vấn đề thực tế tại Việt Nam
  2. Quy chuẩn trong Google Apps Script
  3. Các bước chuẩn hóa dữ liệu nhập vào
  4. Code minh họa trong Apps Script
  5. Một số ví dụ khác
  6. Tổng kết quy tắc
  7. Hàm xử lý chung (tái sử dụng nhiều nơi)

Một số nguyên tắt xử lý chuyển từ chữ sang số để tính tiền

1️⃣ Vấn đề thực tế tại Việt Nam

Người dùng Việt Nam thường nhập số theo quy tắc địa phương, khác với chuẩn lập trình quốc tế.

Cách nhập phổ biến Ý nghĩa Giải thích
SoTien = "10.000" Mười nghìn Dấu . được dùng để phân tách hàng nghìn
SoLuong = "1,5" Một phẩy năm Dấu , được dùng cho phần thập phân

Vì vậy, trong lập trình JavaScript / Apps Script, các giá trị này được xem là chuỗi văn bản (string) chứ không phải số.


2️⃣ Quy chuẩn trong Google Apps Script

Google Apps Script tuân theo chuẩn quốc tế (US format):

Ý nghĩa Cách viết đúng
Mười nghìn "10000" (không có dấu ngăn cách)
Một phẩy năm "1.5" (dấu chấm . là phần thập phân)

3️⃣ Các bước chuẩn hóa dữ liệu nhập vào

Ví dụ người dùng nhập SoTien = "1.000,25", ta thực hiện các bước sau:

Bước Hành động Mục đích Kết quả trung gian
1 Xóa tất cả dấu . Loại bỏ dấu ngăn cách hàng nghìn "1000,25"
2 Thay dấu , bằng . Chuẩn hóa phần thập phân "1000.25"
3 Chuyển sang kiểu số Để tính toán được 1000.25

4️⃣ Code minh họa trong Apps Script

var SoTien = "1.000,25";

// 🔹 Bước 1: Xóa dấu . (hàng nghìn)
SoTien = SoTien.replace(".","");

// 🔹 Bước 2: Đổi dấu , thành .
SoTien = SoTien.replace(",", ".");

// 🔹 Bước 3: Chuyển chuỗi sang kiểu số
var GiaTri = parseFloat(SoTien);

// 🔹 Kiểm tra kết quả
Logger.log("Giá trị sau khi xử lý: " + GiaTri);

 

Kết quả trong nhật ký: Giá trị sau khi xử lý: 1000.25


5️⃣ Một số ví dụ khác

Giá trị nhập từ bàn phím Sau khi xử lý Kết quả kiểu số
"10.000" "10000" 10000
"1,5" "1.5" 1.5
"2.345,75" "2345.75" 2345.75
"1000" "1000" 1000

6️⃣ Tổng kết quy tắc

Mục đích Dấu tại Việt Nam Dấu trong Apps Script Cách xử lý
Phân tách hàng nghìn . (bỏ đi) Xóa dấu .
Phân tách phần thập phân , . Thay dấu ,.
Chuyển chuỗi sang số Dùng hàm parseFloat()

7️⃣ Hàm xử lý chung (tái sử dụng nhiều nơi)

function ChuanHoaSo(vnNumber) {
  if (!vnNumber) return 0;
  return parseFloat(
    vnNumber.replace(/\./g, "").replace(",", ".")
  );
}

// Ví dụ:
var so1 = ChuanHoaSo("10.000");     // 10000
var so2 = ChuanHoaSo("1,25");       // 1.25
var so3 = ChuanHoaSo("2.345,75");   // 2345.75
Logger.log(so1 + ", " + so2 + ", " + so3);

 

 

Tìm kiếm:

Bài viết liên quan:

Hướng dẫn một số nguyên tắt xử lý chuyển từ chữ sang số để tính tiền