Although there could be multiple reasons which I cannot figure out from the lack of context (i.e. whether those fields in quesion present, how exactly it does not wor etc) still I see this line
if (xnet > "0.00")
as highly suspicious. You compare string variable with greater operator which might work not as you expect it.
I suggest you to parse if and only then compare to 0.0 if it's really what you need to do