I have created a VB.Net Add-In, and am using IRow to get the value of fields in tables in ArcMap to use in a query.
But I am encountering a problem when getting the values of the SHAPE.area
and SHAPE.len
fields. The values returned using IRow.Value
seem to be rounded from the actual value of the field (the value that would be used to select using the table's Select by Attributes).
So, for example, I can select a polygon using Select by Attributes and the query:
SHAPE.area = 50.775141666668361
But the following code doesn't work to produce a value to use to successfully query:
Dim value As New Double
value = pRow.Value(pRow.Fields.FindField("SHAPE.area"))
And it doesn't work because value = 50.7751416666684
I tried it with value as a Decimal and value as a String. I also wrote the Row.Value directly to notepad without first storing it in a variable, and in all cases the number returned is rounded to two decimals fewer than the actual value.
Is there a way to get the actual, non-rounded, value?
I can use a workaround if I need to, but I'd rather be able to get the actual value of the area and length fields.