2008-08-21 68 views

Trả lời

32

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.

16

Và sự khác biệt quan trọng nhất (IME, ít nhất) .... là CInt overflows at 32,767.

+0

Rất cám ơn vì lời nhắc rằng int là số nguyên BIT 16 ký! –

3

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ĩ?

+1

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. –

3

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ỳ.