Check if a number is a Positive Integer

  • Thread starter Thread starter MoCS
  • Ngày gửi Ngày gửi
Liên hệ QC

MoCS

Thành viên mới
Tham gia
24/10/08
Bài viết
24
Được thích
14
-----------------------------------------
PHP:
Function IsPosInteger(ByVal sStr As String)
   Dim tmp
   tmp = 0
   If IsNumeric(Trim(sStr)) Then
        If (Not IsNumeric(Evaluate("=Find(""."",""" & sStr & """, 1)"))) And (Not  _
             IsNumeric(Evaluate("=Find(""-"",""" & sStr & """, 1)"))) Then
             tmp = 1
        End If
   End If
   IsPosInteger = tmp
End Function
------------------------------------------
Đây là phương pháp dùng để kiểm tra 1 chuổi hay cụ thể hơn là 1 Cell/Range trên excel worksheet. Kiểm tra xem chuổi có phải là 1 số nguyên dương hay không.
Hàm có thể thay đổi tùy vào format 1 số của các bạn trên excel hay trên win.
VD:
-------Nếu dùng dấu chấm "." để phân cách phần nguyên và phần thập phân thì đoạn code trên OK.
-------Nếu dùng dấu phây "," để phân cách, thì nên edit lại đoạn code như dưới đây:
Original:
..... =Find(""."",""" & sStr & """, ....
Change to:
..... =Find("","",""" & sStr & """, ....
--------------------
Chúc thành công.
 
Chỉnh sửa lần cuối bởi điều hành viên:
Nếu chỉ để kiểm tra dữ liệu là số nguyên dương thì dùng code sau cho dễ :
PHP:
Function IsPosInteger(Num) As Boolean
IsPosInteger = Val(Num) > 0 And Val(Num) * 10 = Round(Val(Num)) * 10
End Function
 
Lần chỉnh sửa cuối:
Upvote 0
Nếu chỉ để kiểm tra dữ liệu là số nguyên dương thì dùng code sau cho dễ :
PHP:
Function IsPosInteger(Num) As Boolean
IsPosInteger = Val(Num) > 0 And Val(Num) * 10 = Round(Val(Num)) * 10
End Function
Chưa chắc đâu nha!
Với hàm này, kiểm tra chuổi "33ndu" nó ra kết quả = TRUE
???
Phải thêm IsNumeric nữa thì mới ổn
 
Upvote 0
Web KT

Bài viết mới nhất

Back
Top Bottom