ฉันบังเอิญค้นพบว่า ArcMap แสดงค่าทศนิยมพิเศษให้กับผู้ใช้อย่างไร
- + ∞ (บวกอนันต์) แสดงเป็น
1.#INF
- –∞ (อินฟินิตี้ลบ) ควรจะแสดงเป็น
-1.#INF
- ฉันยังไม่ได้ยืนยันตัวนี้ NaN (ไม่ใช่ตัวเลข) แสดงเป็นจัดชิดขวา
<Null>
- เพื่อไม่ให้สับสนกับจัดชิดซ้าย<Null>
ซึ่งหมายถึง NULL (ค่าที่หายไป):(รับค่าที่ไม่ซ้ำกันในเครื่องคิดเลขฟิลด์ไม่ได้แสดงรายการ NaN เลย)
แต่ฉันไม่ได้ค้นพบวิธีเขียนแบบสอบถามคำจำกัดความของเลเยอร์เพื่อเลือกแถวตามค่าพิเศษเหล่านี้:
ColumnName IS NULL
จะเลือกเฉพาะค่า NULL ปกติ แต่ไม่ใช่ NaNColumnName = 1.#INF
ถูกปฏิเสธเนื่องจากมีไวยากรณ์ที่ไม่ถูกต้อง
ไม่มีใครรู้วิธีการทำเช่นนี้?
โค้ด C # ArcObjects สำหรับการจัดเก็บค่า 1. # INF ลงในฟิลด์ตาราง (แนวคิดพื้นฐาน):
ตามที่ขอ. เนื่องจากฉันไม่ได้ทำงานต่อไปนี้ไม่ใช่รหัสจริงที่ฉันใช้และฉันไม่สามารถทดสอบได้ในตอนนี้ แต่ควรให้เอฟเฟกต์ที่แสดงในหน้าจอด้านบน:
ITable table = …;
int doubleFieldIndex = table.FindField(…);
IRow row = table.CreateRow();
row.Value[doubleFieldIndex] = double.PositiveInfinity;
row.Store();