Số liệu của mình chạy từ số nhỏ đến số lớn vd: 0.1254545154; 12.999 ; 999000.1234
Mình muốn lấy ra số chỉ có 1 số sau đấu phẩy ở vd trên kết quả sẽ là: 0.1 ; 12.9 ; 999000.1
Mình đã viết code này, cho nó chạy thử 3 số trên thì bị lỗi, không cho ra kết quả được,
1. dùng biến Value_max_so_nguyen as integer thì cho vd1, vd2 là đúng, vd3 bị tràn bộ nhớ, nên không dùng được
2. dùng biến Value_max_so_nguyen as in Long thì ca 3 vd đều cho ra kết quả sai, nó lấy đến 3 số sau dấu phẩy ???
Mình thấy nó sai ở hàm len(), len(Long) cho kết quả sai, vd len(12)=4 một kết quả rất khó hiểu? làm sao để khắc phục cái sai này?
Mình muốn lấy ra số chỉ có 1 số sau đấu phẩy ở vd trên kết quả sẽ là: 0.1 ; 12.9 ; 999000.1
Mình đã viết code này, cho nó chạy thử 3 số trên thì bị lỗi, không cho ra kết quả được,
1. dùng biến Value_max_so_nguyen as integer thì cho vd1, vd2 là đúng, vd3 bị tràn bộ nhớ, nên không dùng được
2. dùng biến Value_max_so_nguyen as in Long thì ca 3 vd đều cho ra kết quả sai, nó lấy đến 3 số sau dấu phẩy ???
Mình thấy nó sai ở hàm len(), len(Long) cho kết quả sai, vd len(12)=4 một kết quả rất khó hiểu? làm sao để khắc phục cái sai này?
Sub tai_sao_kq_sai()
Dim Value_max As Single
Dim Value_max_so_nguyen As Long
Dim Value_max_len As Integer
Value_max = 12.65974844
Value_max_so_nguyen = Int(Value_max) '--lay so nguyen
Value_max_len = Len(Value_max_so_nguyen)+2
MsgBox "So phan nguyen cua: " & Value_max & " la : " & Value_max_len & " so la sai?"
Value_can_lay = Left(Value_max, Value_max_len)'--la so co 1 so sau dau phay
End Sub
Lần chỉnh sửa cuối:


