I think there's an underlying issue here, which is that division by 0 is not legal. It's not that it's just hard or irritating, but that something is fundementally wrong. If you're dividing by zero, you're trying to do something that doesn't make sense mathematically, so no answer you can get will be valid.
Edit: So Edwardo asks in the comments "what if the user puts in a 0?" If the user puts zero in the amount, and you want 0 returned when they do that, then you should put in code at the business rules level to catch that value and return 0...not do some weird math where division by 0 = 0.
That's a subtle difference, but it's important...because the next time someone calls your function and expects it to do the right thing, and it does something funky that isn't mathematically correct, but just handles the particular edge case it's got a good chance of biting someone later. You're not really dividing by 0...you're just returning an bad answer to a bad question.
Imagine I'm coding something, and I screw it up. I should be reading in a radiation measurement scaling value, but in a strange edge case I didn't anticipate, I read in 0. I then drop my value into your function...you return me a 0! Hurray, no radiation! Except it's really there and it's just that I was passing in a bad value...but I have no idea. I want division to throw the error because it's the flag that something is wrong.