Làm cách nào để thêm số 0 vào trước số trong javascript?

Theo như tôi có thể nói, không có cách tích hợp sẵn nào với Javascript để đệm một số có các số 0 đứng đầu để làm cho nó có chiều rộng cố định như với e. g. sprintf bằng các ngôn ngữ lập trình khác. Bài đăng này xem xét một cách để đệm một số bằng số 0 bằng Javascript

Xin lưu ý. điều này không hoạt động đối với số âm; . Tôi sẽ viết một bài khác để sửa lại những gì ở đây và sẽ hoạt động với số âm

Hàm sau sẽ đệm một số có các số 0 đứng đầu để chuỗi kết quả có độ dài "length". Ví dụ: nếu độ dài là 2 và số được truyền vào là 5 thì giá trị trả về là 05

function pad(number, length) {
   
    var str = '' + number;
    while (str.length < length) {
        str = '0' + str;
    }
   
    return str;

}

Một số mã để kiểm tra ở trên

document.write(pad(1, 1) + '
'); document.write(pad(1, 2) + '
'); document.write(pad(15, 2) + '
'); document.write(pad(1, 3) + '
'); document.write(pad(15, 3) + '
'); document.write(pad(155, 3) + '
'); document.write(pad(1, 4) + '
'); document.write(pad(1, 5) + '
');

Và đầu ra kết quả

1
01
15
001
015
155
0001
00001

Vào thứ Ba, tôi sẽ xem xét giải pháp thứ hai nếu bạn chỉ cần nhập một số thành hai số, giống như bạn sẽ làm cho ngày và tháng, giờ, phút và giây

Chào mừng bạn đến với hướng dẫn ngắn về cách thêm các số 0 ở đầu và cuối vào các số trong Javascript. Vì vậy, bạn có một số số yêu cầu đệm số 0?

Cách dễ dàng để thêm các số 0 ở đầu hoặc cuối trong Javascript là

  1. Nối số với một chuỗi số không
    • document.write(pad(1, 1) + '
      '); document.write(pad(1, 2) + '
      '); document.write(pad(15, 2) + '
      '); document.write(pad(1, 3) + '
      '); document.write(pad(15, 3) + '
      '); document.write(pad(155, 3) + '
      '); document.write(pad(1, 4) + '
      '); document.write(pad(1, 5) + '
      ');
      1
    • document.write(pad(1, 1) + '
      '); document.write(pad(1, 2) + '
      '); document.write(pad(15, 2) + '
      '); document.write(pad(1, 3) + '
      '); document.write(pad(15, 3) + '
      '); document.write(pad(155, 3) + '
      '); document.write(pad(1, 4) + '
      '); document.write(pad(1, 5) + '
      ');
      2
  2. Hoặc sử dụng các chức năng đệm chuỗi
    • document.write(pad(1, 1) + '
      '); document.write(pad(1, 2) + '
      '); document.write(pad(15, 2) + '
      '); document.write(pad(1, 3) + '
      '); document.write(pad(15, 3) + '
      '); document.write(pad(155, 3) + '
      '); document.write(pad(1, 4) + '
      '); document.write(pad(1, 5) + '
      ');
      3
    • document.write(pad(1, 1) + '
      '); document.write(pad(1, 2) + '
      '); document.write(pad(15, 2) + '
      '); document.write(pad(1, 3) + '
      '); document.write(pad(15, 3) + '
      '); document.write(pad(155, 3) + '
      '); document.write(pad(1, 4) + '
      '); document.write(pad(1, 5) + '
      ');
      4

Điều đó bao gồm những điều cơ bản, nhưng chúng ta hãy xem qua một vài ví dụ nữa – Đọc tiếp

ⓘ Tôi đã bao gồm một tệp zip chứa tất cả mã nguồn ví dụ khi bắt đầu hướng dẫn này, vì vậy bạn không cần phải sao chép-dán mọi thứ… Hoặc nếu bạn chỉ muốn đi sâu vào

 

 

TRANG TRÌNH BÀY NHANH

Làm cách nào để thêm số 0 vào trước số trong javascript?
Tải xuống & Ghi chú
Làm cách nào để thêm số 0 vào trước số trong javascript?
Pad Zeroes
Làm cách nào để thêm số 0 vào trước số trong javascript?
Bit & Liên kết Hữu ích
Làm cách nào để thêm số 0 vào trước số trong javascript?
Kết thúc

 

TẢI XUỐNG & LƯU Ý

Đầu tiên, đây là liên kết tải xuống mã ví dụ như đã hứa

 

GHI CHÚ NHANH

Nếu bạn phát hiện ra một lỗi, hãy bình luận bên dưới. Tôi cũng cố gắng trả lời các câu hỏi ngắn, nhưng đó là một người so với cả thế giới… Nếu bạn cần câu trả lời gấp, vui lòng xem danh sách các trang web của tôi để được trợ giúp về lập trình

 

MÃ VÍ DỤ TẢI XUỐNG

Nhấp vào đây để tải xuống mã nguồn, tôi đã phát hành nó theo giấy phép MIT, vì vậy hãy thoải mái xây dựng trên mã nguồn hoặc sử dụng nó trong dự án của riêng bạn

 

 

PAD VỚI SỐ KHÔNG

Được rồi, bây giờ chúng ta hãy đi vào các ví dụ về cách đệm một số có các số 0 ở đầu và cuối

 

VÍ DỤ 1) DỄ DÀNG DẪN ĐẦU & DẪN SỐ 0

1-dễ dàng. html

// (A) THE NUMBERS
var numA = 123;
var numB = 123.45;
 
// (B) STRING CONCAT
console.log("000" + numA);
console.log(numB + "000");
 
// (C) PAD STRING
console.log(numA.toString().padStart(5, 0));
console.log(numB.toString().padEnd(8, 0));

Như trong phần giới thiệu ở trên, cách dễ nhất để đệm một số bằng số 0 là –

  • Nối với một chuỗi số không
  • Hoặc chuyển đổi số thành chuỗi, sau đó sử dụng các hàm chuỗi pad

 

 

VÍ DỤ 2) CÁC SỐ 0 DẪN ĐẦU & DƯỚI CỦA PAD THỦ CÔNG

2-pad-zero. js

// (A) PAD WITH ZEROES
//   NUM : THE ORIGINAL NUMBER
//   LEAD : TOTAL NUMBER OF DIGITALS ALLOWED (WHOLE NUMBERS)
//   TRAIL : TOTAL NUMBER OF DIGITALS ALLOWED (DECIMAL NUMBERS)
function padZero (num, lead, trail) {
  // (A1) CONVERT NUMBER TO STRING
  var cString = num.toString();

  // (A2) GET NUMBER OF DIGITS
  var cWhole, cDec, cCheck = cString.indexOf(".");

  // NO DECIMAL PLACES, A WHOLE NUMBER
  if (cCheck == -1) {
    cWhole = cString.length;
    cDec = 0;
    cString += ".";
  }
  // IS A DECIMAL NUMBER
  else {
    cWhole = cCheck;
    cDec = cString.substr(cCheck+1).length;
  }

  // (A3) PAD WITH LEADING ZEROES
  if (cWhole < lead) {
    for (let i=cWhole; i

Ngày xửa ngày xưa trong Thời kỳ đen tối của Internet, đây là cách chúng ta điền số bằng số 0… Về cơ bản

  • (A1) Chuyển số thành chuỗi trước
  • (A2) Chia số thành “số nguyên” và “số thập phân”
  • (A3 & A4) Thêm các số 0 ở đầu và/hoặc ở cuối theo yêu cầu

 

 

THÊM) XÓA SỐ KHÔNG

3-xóa-không. js

// (A) PARSE FLOAT & INT
console.log(parseFloat("0123.4500")); // 123.45
console.log(parseInt("0123.4500")); //123

// (B) USING REGULAR EXPRESSION
// Credits: https://stackoverflow.com/questions/594325/input-field-value-remove-leading-zeros
function removeZero (num) {
  return num.replace(/^0+(?!\.|$)/, "");
}
console.log(removeZero("000.00")); // 0.0
console.log(removeZero("00000")); // 0
console.log(removeZero("012.30")); // 12.30

Cuối cùng, một phần bổ sung nhỏ để làm ngược lại với việc xóa các số 0 –  Chỉ cần sử dụng

document.write(pad(1, 1) + '
'); document.write(pad(1, 2) + '
'); document.write(pad(15, 2) + '
'); document.write(pad(1, 3) + '
'); document.write(pad(15, 3) + '
'); document.write(pad(155, 3) + '
'); document.write(pad(1, 4) + '
'); document.write(pad(1, 5) + '
');
5 hoặc
document.write(pad(1, 1) + '
'); document.write(pad(1, 2) + '
'); document.write(pad(15, 2) + '
'); document.write(pad(1, 3) + '
'); document.write(pad(15, 3) + '
'); document.write(pad(155, 3) + '
'); document.write(pad(1, 4) + '
'); document.write(pad(1, 5) + '
');
6 và thế là xong. Nhưng nếu bạn muốn “xóa số 0 thông minh hơn” – Sử dụng biểu thức chính quy là cách duy nhất để thực hiện

 

BIT & LIÊN KẾT HỮU ÍCH

Đó là tất cả cho hướng dẫn này và đây là một phần nhỏ về một số tính năng bổ sung và liên kết có thể hữu ích cho bạn

 

BẢN TÓM TẮT

Hàm Mô tả Tài liệu tham khảo
document.write(pad(1, 1) + '
'); document.write(pad(1, 2) + '
'); document.write(pad(15, 2) + '
'); document.write(pad(1, 3) + '
'); document.write(pad(15, 3) + '
'); document.write(pad(155, 3) + '
'); document.write(pad(1, 4) + '
'); document.write(pad(1, 5) + '
');
7Một trong những hàm quan trọng nhất để chuyển đổi số hoặc số thập phân thành chuỗi – Bàn phím có số 0, thêm dấu phẩy hoặc dấu chấm. Bấm vào đây
// (A) PAD WITH ZEROES
//   NUM : THE ORIGINAL NUMBER
//   LEAD : TOTAL NUMBER OF DIGITALS ALLOWED (WHOLE NUMBERS)
//   TRAIL : TOTAL NUMBER OF DIGITALS ALLOWED (DECIMAL NUMBERS)
function padZero (num, lead, trail) {
  // (A1) CONVERT NUMBER TO STRING
  var cString = num.toString();

  // (A2) GET NUMBER OF DIGITS
  var cWhole, cDec, cCheck = cString.indexOf(".");

  // NO DECIMAL PLACES, A WHOLE NUMBER
  if (cCheck == -1) {
    cWhole = cString.length;
    cDec = 0;
    cString += ".";
  }
  // IS A DECIMAL NUMBER
  else {
    cWhole = cCheck;
    cDec = cString.substr(cCheck+1).length;
  }

  // (A3) PAD WITH LEADING ZEROES
  if (cWhole < lead) {
    for (let i=cWhole; i
0Tìm vị trí của ký tự đã cho trong một chuỗi. Bấm vào đây
// (A) PAD WITH ZEROES
//   NUM : THE ORIGINAL NUMBER
//   LEAD : TOTAL NUMBER OF DIGITALS ALLOWED (WHOLE NUMBERS)
//   TRAIL : TOTAL NUMBER OF DIGITALS ALLOWED (DECIMAL NUMBERS)
function padZero (num, lead, trail) {
  // (A1) CONVERT NUMBER TO STRING
  var cString = num.toString();

  // (A2) GET NUMBER OF DIGITS
  var cWhole, cDec, cCheck = cString.indexOf(".");

  // NO DECIMAL PLACES, A WHOLE NUMBER
  if (cCheck == -1) {
    cWhole = cString.length;
    cDec = 0;
    cString += ".";
  }
  // IS A DECIMAL NUMBER
  else {
    cWhole = cCheck;
    cDec = cString.substr(cCheck+1).length;
  }

  // (A3) PAD WITH LEADING ZEROES
  if (cWhole < lead) {
    for (let i=cWhole; i
1Pad bắt đầu chuỗi với ký tự đã cho. Bấm vào đây
// (A) PAD WITH ZEROES
//   NUM : THE ORIGINAL NUMBER
//   LEAD : TOTAL NUMBER OF DIGITALS ALLOWED (WHOLE NUMBERS)
//   TRAIL : TOTAL NUMBER OF DIGITALS ALLOWED (DECIMAL NUMBERS)
function padZero (num, lead, trail) {
  // (A1) CONVERT NUMBER TO STRING
  var cString = num.toString();

  // (A2) GET NUMBER OF DIGITS
  var cWhole, cDec, cCheck = cString.indexOf(".");

  // NO DECIMAL PLACES, A WHOLE NUMBER
  if (cCheck == -1) {
    cWhole = cString.length;
    cDec = 0;
    cString += ".";
  }
  // IS A DECIMAL NUMBER
  else {
    cWhole = cCheck;
    cDec = cString.substr(cCheck+1).length;
  }

  // (A3) PAD WITH LEADING ZEROES
  if (cWhole < lead) {
    for (let i=cWhole; i
2Pad vào cuối chuỗi với ký tự đã cho. Bấm vào đây
// (A) PAD WITH ZEROES
//   NUM : THE ORIGINAL NUMBER
//   LEAD : TOTAL NUMBER OF DIGITALS ALLOWED (WHOLE NUMBERS)
//   TRAIL : TOTAL NUMBER OF DIGITALS ALLOWED (DECIMAL NUMBERS)
function padZero (num, lead, trail) {
  // (A1) CONVERT NUMBER TO STRING
  var cString = num.toString();

  // (A2) GET NUMBER OF DIGITS
  var cWhole, cDec, cCheck = cString.indexOf(".");

  // NO DECIMAL PLACES, A WHOLE NUMBER
  if (cCheck == -1) {
    cWhole = cString.length;
    cDec = 0;
    cString += ".";
  }
  // IS A DECIMAL NUMBER
  else {
    cWhole = cCheck;
    cDec = cString.substr(cCheck+1).length;
  }

  // (A3) PAD WITH LEADING ZEROES
  if (cWhole < lead) {
    for (let i=cWhole; i
3Phân tích một chuỗi thành một số nguyên. Bấm vào đây
// (A) PAD WITH ZEROES
//   NUM : THE ORIGINAL NUMBER
//   LEAD : TOTAL NUMBER OF DIGITALS ALLOWED (WHOLE NUMBERS)
//   TRAIL : TOTAL NUMBER OF DIGITALS ALLOWED (DECIMAL NUMBERS)
function padZero (num, lead, trail) {
  // (A1) CONVERT NUMBER TO STRING
  var cString = num.toString();

  // (A2) GET NUMBER OF DIGITS
  var cWhole, cDec, cCheck = cString.indexOf(".");

  // NO DECIMAL PLACES, A WHOLE NUMBER
  if (cCheck == -1) {
    cWhole = cString.length;
    cDec = 0;
    cString += ".";
  }
  // IS A DECIMAL NUMBER
  else {
    cWhole = cCheck;
    cDec = cString.substr(cCheck+1).length;
  }

  // (A3) PAD WITH LEADING ZEROES
  if (cWhole < lead) {
    for (let i=cWhole; i
4Phân tích một chuỗi thành một dấu phẩy. Bấm vào đây

 

BẢNG CHEAT INFOGRAPHIC

Cảm ơn bạn đã đọc, và chúng tôi đã đi đến phần cuối của hướng dẫn này. Tôi hy vọng rằng nó đã giúp bạn với dự án của bạn và nếu bạn muốn chia sẻ bất cứ điều gì với hướng dẫn này, xin vui lòng bình luận bên dưới. Chúc may mắn và mã hóa hạnh phúc

Số 0 đứng trước nghĩa là gì?

Các số 0 đứng đầu được sử dụng để sắp xếp thứ tự tăng dần của các số tương ứng với thứ tự bảng chữ cái . e. g. , 11 đứng trước 2 theo thứ tự bảng chữ cái, nhưng sau 02.

Tại sao 0 không phải là một số trong JavaScript?

Trong JavaScript “0” bằng false vì “0” thuộc loại chuỗi nhưng khi nó được kiểm tra tính bằng nhau, chuyển đổi loại tự động của JavaScript có hiệu lực và chuyển đổi “0” thành giá trị số của nó là 0 và như chúng ta biết 0 . Vì vậy, "0" bằng sai