<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def normal_round_float(x: float, dp: int = 0) -> float: """ Conventional rounding to integer via the "round half away from zero" method, e.g. .. code-block:: none 1.1 -> 1 1.5 -> 2 1.6 -> 2 2.0 -> 2 -1.6 -> -2 etc. Note that round() implements "banker's rounding", which is never what we want: - https://stackoverflow.com/questions/33019698/how-to-properly-round-up-half-float-numbers-in-python # noqa """

    if not math.isfinite(x):
        return x
    factor = pow(10, dp)
    x = x * factor
    if x >= 0:
        x = math.floor(x + 0.5)
    else:
        x = math.ceil(x - 0.5)
    x = x / factor
    return x