Well done. I think that it would look cleaner if you removed the two decimal places. If it's estimated, then you probably shouldn't be showing them anyway.
A transaction can be made up of a different number of inputs, if the inputs don't exactly match the output (the amount you want to send), there is "change".
The change is sent to a new address (belonging to the sender). So blockchain.info and this site are guessing as to which of the outputs was the intended sending amount and which was the change.