Tôi tình cờ phát hiện ra cách ArcMap hiển thị các giá trị dấu phẩy động đặc biệt cho người dùng.
- + (Vô cực dương) được hiển thị dưới dạng
1.#INF
- Cấm∞ (vô cực âm) được cho là sẽ được hiển thị dưới dạng
-1.#INF
- Tôi chưa xác minh cái này. NaN (không phải là số) được hiển thị dưới dạng căn phải
<Null>
- không bị nhầm lẫn với căn lề trái<Null>
, biểu thị NULL (giá trị thiếu):(Nhân tiện, nhận các giá trị duy nhất trong máy tính trường không liệt kê NaN.)
Nhưng tôi chưa khám phá ra cách viết các truy vấn định nghĩa lớp để chọn các hàng dựa trên các giá trị đặc biệt này:
ColumnName IS NULL
sẽ chỉ chọn các giá trị NULL thông thường, nhưng không chọn NaN.ColumnName = 1.#INF
bị từ chối vì có cú pháp không hợp lệ.
Có ai biết cách để làm điều này không?
Đoạn mã C # ArcObjects để lưu trữ giá trị 1. # INF vào trường bảng (khái niệm cơ bản):
Như yêu cầu. Vì tôi không còn làm việc nữa, nên đây không phải là mã thực tôi đã sử dụng và tôi không thể kiểm tra nó ngay bây giờ, nhưng nó sẽ tạo ra hiệu ứng hiển thị trong ảnh chụp màn hình ở trên:
ITable table = …;
int doubleFieldIndex = table.FindField(…);
IRow row = table.CreateRow();
row.Value[doubleFieldIndex] = double.PositiveInfinity;
row.Store();