Sự khác nhau giữa CStr và Str, mong các bạn giúp đở (2 người xem)

Liên hệ QC

Người dùng đang xem chủ đề này

pmhoang

Thành viên thường trực
Tham gia
4/7/08
Bài viết
269
Được thích
83
Mình vẫn chưa hiểu được sự khác nhau giữa CStr và Str,
và expression trong vb nó hiểu là gì, mình tra google nó dịch là biểu hiện, nên cũng không hiểu lắm
mong các bạn giúp mình với.

[GPECODE=vb]
'--Str(number) - chuyen 1 so sang text
'--CStr(expression) - chuyen 1 exp sang text
'--Tai sao khi su dung khong thay su khac biet gi?
Sub Str_khac_CStr()
Dim a As Double
Dim st As String
Dim cst As String

a = 456
st = Str(a)
cst = CStr(a)

a = -456.65
st = Str(a + 1)
cst = CStr(a + 1)

a = 456.001
st = Str(a)
cst = CStr(a)

a = 123.0000009
st = Str(a)
cst = CStr(a)
End Sub
[/GPECODE]
 
Lần chỉnh sửa cuối:
Bạn thử cho chạy macro này trước tiên với các con số mặt định; Rồi sau đó thì . . . .

PHP:
Option Explicit
Sub Str_CStr()
 Dim Mot As Byte, Hai As Integer, Ba As Long, J As Byte
 
 Mot = InputBox("Hay Nhap 1 So Nguyen Duong", , "9")
 MsgBox Mot + Mot, , "Mot Cong Mot"
 MsgBox Len(CStr(CByte(Mot))), , Len(Str(CByte(Mot)))
 Hai = InputBox("Hay Nhap 1 So Nguyen Am", , "-9")
 MsgBox Hai + Hai, , "Hai Cong Hai"
 MsgBox Len(CStr(CInt(Hai))), , Len(Str(CInt(Hai)))
 
End Sub
 
Upvote 0
Mình vẫn chưa hiểu được sự khác nhau giữa CStr và Str,
và expression trong vb nó hiểu là gì, mình tra google nó dịch là biểu hiện, nên cũng không hiểu lắm
mong các bạn giúp mình với.

[GPECODE=vb]
'--Str(number) - chuyen 1 so sang text
'--CStr(expression) - chuyen 1 exp sang text
'--Tai sao khi su dung khong thay su khac biet gi?
Sub Str_khac_CStr()
Dim a As Double
Dim st As String
Dim cst As String

a = 456
st = Str(a)
cst = CStr(a)

a = -456.65
st = Str(a + 1)
cst = CStr(a + 1)

a = 456.001
st = Str(a)
cst = CStr(a)

a = 123.0000009
st = Str(a)
cst = CStr(a)
End Sub
[/GPECODE]
Hàm Str chỉ nhận đối số có thể chuyển sang dạng số, ví dụ Str(5) hay Str("5") hợp lệ, còn Str("a") không hợp lệ. Hàm Cstr có thể nhận đối số không thể chuyển sang số.
Ngoài ra hàm Str chỉ nhận dấu "." là dấu phân cách thập phân, nếu bạn đổi sang dạng số như kiểu Việt Nam thì Str làm việc không chính xác trong khi Cstr vẫn đúng.
 
Upvote 0
Web KT

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

Back
Top Bottom