Well, it all depends on the script you use.
The default script chooses the highest element damage factor to modify the damage value.
More practically, if your enemy as 50% resist Fire, and 50% weak Ice (meaning, 150% damage), your attack will do: damage * Ice multiplicator (=150%).
But if your enemy has 50% weak Fire and 25% weak ice, your damage will only be: damage * highest_multi (which means Fire = 150%).
Other custom battle system scripts have more interesting formulas.
In Yanfly Battle Engine (last version is 1.00m), you can choose different calculations:
# This determines the way element rates are calculated when more than one
# element is present on an attack. Note that resist is anything under 100%
# while immunity is at 0% to avoid confusion.
# Type Method
# 0 Highest of the rates (default)
# 1 Lowest of the rates
# 2 Average of the rates without absorb, then apply absorb
# 3 Average of the rates with absorb
# 4 Priority to absorb, resist, find maximum for the rest.
# 5 Priority to absorb, resist, find average for the rest.
# 6 Priority to absorb, immune, find maximum for the rest.
# 7 Priority to absorb, immune, find average for the rest.
# 8 Stacking multipliers through multiplication.
# 9 Absorb and resist priority, apply multiplication for rest.
# 10 Absorb and immune priority, apply multiplication for rest.
Note: I don't know about other custom battle systems.
Hope it helps.