I think you are using code wrongly.
According to my code if any one value ( field1 or field2 ) is null , it won't divide it will return the value 0. Only if both has value, it will divide. Check my code once again.
=IIf(IsNothing(Fields!field1.Value)Or IsNothing(Fields!field2.Value) ,0,((Fields!field1.Value)/(Fields!field2.Value)*100))
But this code will give error if field2 is defaultly zero ( 0) and not null. To avoid this you can add this condition also in the above. And the code should look like below
IIf(IsNothing(Fields!field1.Value)Or IsNothing(Fields!field2.Value) Or Fields!field2.Value=0 ,0,((Fields!field1.Value)/(Fields!field2.Value)*100))
Hope this above code will give you 100 % output.
I you get error again use custom code like below
Public Function DivisionCheck(ByVal Numerator As Object, ByVal Denominator
As object, ByVal DivZeroDefault As Object) As Object
If Denominator <> 0 Then
Return Numerator/Denominator
Else
Return DivZeroDefault
End If
End Function
Still if you find difficulties or error kindly revert back to me