Sự khác biệt trong ASP/VBScript giữa Int()
và CInt()
là gì?ASP/VBScript - Int() vs CInt()
Trả lời
Chức năng Int trả về phần nguyên của một số quy định.
Chức năng CInt chuyển đổi một biểu thức để gõ Integer.
Và câu trả lời tốt nhất đến từ MSDN
CInt khác Khắc phục sự cố và các hàm Int, mà cắt ngắn, chứ không phải là hình tròn, phần phân số của một số. Khi phần phân số là chính xác 0,5, hàm CInt luôn luôn làm tròn nó đến số chẵn gần nhất. Ví dụ: 0,5 vòng đến 0 và 1,5 vòng đến 2.
Và sự khác biệt quan trọng nhất (IME, ít nhất) .... là CInt overflows at 32,767.
Dưới đây là một sự khác biệt:
Script:
wscript.echo 40.91 * 100
wscript.echo Int(40.91 * 100)
wscript.echo CInt(40.91 * 100)
kết quả:
4091
4090 (????)
4091
Bất kỳ suy nghĩ?
Làm tròn điểm nổi. Giá trị thực tế của "40.91" trong mã rất gần nhưng chỉ nhỏ hơn giá trị thập phân lý thuyết. Vòng CInt gần nhất, Int cắt ngắn. –
Câu trả lời thông thường cho vấn đề này là buộc phải làm tròn lại theo cách thủ công. Vấn đề này là cũ như FORTRAN.
Thay vì
a = int(40.91 * 100)
Sử dụng
b = 40.91 * 100
a = int(b + 0.5)
lừa Rất cũ, vẫn còn hữu ích trong các bảng tính Excel trong từng thời kỳ.
- 1. int ** vs int [ROWS] [COLS]
- 2. int vs NSNumber vs NSInteger
- 3. int * int vs (int * int) trong OCaml loại tổng
- 4. Giải thích về int? vs int
- 5. Biến lớp int int vs mảng
- 6. Java: Enum vs. Int
- 7. Uninitialized int vs Integer
- 8. NSNumber vs Int
- 9. System.Convert.ToInt vs (int)
- 10. Int32 vs Int64 vs Int trong C#
- 11. int vs size_t trên 64bit
- 12. kill -INT vs kill -TERM
- 13. Int id vs id varchar
- 14. Classic ASP App CINT thất bại - twitpocalypse v2
- 15. Loại khóa chính: int vs long
- 16. biến biến thành hàm int vs round()
- 17. int vs Integer so sánh Java
- 18. INT vs VARCHAR trong tìm kiếm
- 19. Hiệu quả: mảng char vs int mảng
- 20. So sánh Integer đối tượng vs int
- 21. Java - sử dụng AtomicInteger vs Static int
- 22. #define MY_INT VS const int MY_INT
- 23. Lỗi tràn Cint khi giá trị vượt quá 100.000+
- 24. Int vs Integer: loại không phù hợp, tìm thấy: Int, yêu cầu: String
- 25. C++ BOOL (typedef int) vs bool cho hiệu suất
- 26. Linux: mảng int lớn: mmap vs tìm kiếm tệp?
- 27. Sql Server int vs nvarchar so sánh về hiệu suất?
- 28. vấn đề với Joda DateTime mới (int, int, int, int, int, int)
- 29. Tại sao mã VBS này không thành công với lỗi "Loại không phù hợp: 'CInt'"?
- 30. Hiểu lỗi kiểu: "mong đợi chữ ký Int * Int-> Int nhưng có Int * Int-> Int"
Rất cám ơn vì lời nhắc rằng int là số nguyên BIT 16 ký! –