I think function double Getfielddouble(bool isAS3, int labelnumber); not working, because always return zero.
I am use string Getfield(bool isAS3, int fieldnumber); and void Setfieldtext(bool isAS3, string val, int fieldnumber);
One thing - during the conversion double values to/from string is required to specify IFormat provider. For example
UC.Setfieldtext(true, TargetArcVoltage.ToString("#,0.00",System.Globalization.CultureInfo.InvariantCulture), 2700);
Otherwise an exception occurs. Just decimal point for different culture can be "," or "."