def my_round(val, digit=0):
    """
    小数の四捨五入の関数

    Parameters
    ----------
    val: float
        四捨五入する数
    digit:　int , default 0
        四捨五入する桁
    Returns
    -------

    Examples
    --------
    >>>f=4.3499999999999996
    >>>g=my_round(f, 2)
    >>> print(g,type(g))
    4.35 <class 'float'>

    >>>g1=my_round(f,1)
    >>>print(g1,type(g1))
    4.4 <class 'float'>

    See Also
    ------
    Pythonで小数・整数を四捨五入するroundとDecimal.quantize
    https://note.nkmk.me/python-round-decimal-quantize/
    round()は一般的な四捨五入ではなく、偶数への丸めになる

    """
    p = 10 ** digit
    return (val * p * 2 + 1) // 2 / p