Attribute Assistant expression is doing unwanted rounding of Double field inputs

4094
6
08-28-2014 07:52 PM
RichardFairhurst
MVP Honored Contributor

I am new to Attribute Assistance and trying to write a concatenation expression that uses 5 double fields to create a formatted string.  I manged to get the expression to work just the way I want in exactly 254 characters in the Field Calculator so that I could paste it into the DynamicValues table.  The concatenated numbers are each supposed to display 4 digits after the decimal, and do when I use the Field Calculator, but the Attribute Assistant Expression record is automatically rounding the field values to 2 digits before doing the concatenation.  I tried an expression that just calculates one of the double field values into the string field and it is automatically being rounded to 2 digits.  It does this no matter what vbScript string formatting functions I have tried.

 

Is there any setting in ArcMap or Windows that would stop this number rounding or change it to 4 digits of rounding?  I tried changing the Windows regional setting in Control Panel to display 4 digits by default and closed and reopened Desktop, but Attribute Assistant still is rounding all double field values to 2 decimal places.  Shouldn't I be able to determine the precision I want through some setting somewhere?  Any other ideas? 

 

I am not sure if this behavior is limited to conversions of double values to string values, but I suspect this rounding would also occur with numeric calculation expressions that output to a double field.  If it did, that would be a definite bug in my view.  Is this a known bug?  Thanks for the help.

6 Replies
RichardFairhurst
MVP Honored Contributor

I have confirmed that rounding of the double field is occurring prior to any use of the value in the Attribute Assistant expression.  I created an expression that multiplied the double field value by 10,000 and then converted that value to a Long.  The output always had zeros in the 10s and 100s places when the original double values had digits other than zero in the 1,000th and 10,000th places.  The Field Calculator handled the expression correctly without doing any predetermined rounding of the input double field values.

If there is no setting to override this behavior the Attribute Assistant Expression parser has a bug as far as any use of high precision field values is concerned.

TiagoRibeiro2
New Contributor

Hello everyone.

As far as I noticed the issue is in regional settings on the computer. Control Panel -> Region -> Additional Settings -> Decimal Symbol -> point (.) instead of comma (,).

Can anyone confirm that this solve the issue? I also think that if this is the problem it's a bug in Attribute Assistant...

Best regards,

Tiago Ribeiro.

JoeBorgione
MVP Esteemed Contributor

How about you give it a try and let us know?

That should just about do it....
0 Kudos
AntónioMartins
New Contributor II

Hi Joe,

We already tried in different pc's and it worked. At first with the comma in the settings it gave wrong results and as we changed it to dot it started working. We just wanted to know if this works for anyone else.

Best regards,

António Martins

0 Kudos
MikeMillerGIS
Esri Regular Contributor

Antonio is correct, the value is required to have a "."  We can log a bug to handle "," also.

https://github.com/Esri/local-government-desktop-addins/issues/11

0 Kudos