More billing coding confusion

I noticed in the edit_payment.php file in 500, 501, and 502, when a value pulled from ar_activity is equal to zero, it replaces the value with an empty string. Please view the below code:

Later on in the code we expect these values to be numeric, but sometimes they are an empty string. For example, the variable $AdjAmountDB

This causes a ton of warnings. Can someone explain the justification for this code? It doesn’t make sense. Would it be better to remove the code that converts a number to an empty string?