def balance_movement(current_balance, trans_code, trans_amount):
    """Adjusts the current balance based on the transaction type.

    :param current_balance: The starting balance of the transaction
    :type current_balance: str
    :param trans_code: The type of transaction
    :type trans_code: str
    :param trans_amount: The amount of the transaction:
    :type trans_amount: str
    :return: The updated balance after the transaction
    :rtype: str
    """

    if trans_code in ["C", "W"]:
        return str(round(float(current_balance) - float(trans_amount), 2))
    elif trans_code == "D":
        return str(round(float(current_balance) + float(trans_amount), 2))
    else:
        return trans_amount