Hey,
That might work for a plain value or even a multiplication problem. But I have found that if you are adding a series of fields, you have to perform the (round(Field1 * 10) / 10) + (round(field2 * 10) / 10) + (round(field3 * 10) / 10) in order to get the correct result for the user.
The reason is this....if you set a field as a decimal with 1 decimal place, the user can actually type into the fields 1.856, 4.225 and 6.151 - but InfoPath will display the following to the user 1.9, 4.2 and 6.2 (the data file will actually hold the 1.856, 4.225 and 6.151 values). To the user the 1.9 + 4.2 + 6.2 = 12.3; when mathematically the result is actually 12.232
If you use the Round(value*10)/10 the result would be 12.2 and not 12.3
Ensuring that all values that the user can enter into a field and have the it function correctly mathematically is a pain to say the least in InfoPath. We have just rolled out 300+ forms in an enterprise environment and this is the biggest issue.
Argh!!!!