How to round decimal value up to nearest 0.05 value?

后端 未结 6 2189
醉梦人生
醉梦人生 2020-12-03 07:33

Is there any way to round up decimal value to its nearest 0.05 value in .Net?

Ex:

7.125 -> 7.15

6.66 -> 6.7

If its now available can anyone

6条回答
  •  一个人的身影
    2020-12-03 07:50

    I could not get proper rounding in most of the formulas

    This one "rounds" to nearest

    float roundFloat(float value, float toNearest) {
                float divVal = (1 / (toNearest == 0 ? 1 : toNearest));
                return ((float)(Math.Round(value * divVal)) / divVal);
            }
    

    Result:

    roundFloat(2, 0.125F); -> 2
    roundFloat(2.11, 0.125F); -> 2.125
    roundFloat(2.22, 0.125F); -> 2.25
    roundFloat(2.33, 0.125F); -> 2.375
    roundFloat(2.44, 0.125F); -> 2.5
    roundFloat(2.549999, 0.125F); -> 2.5
    roundFloat(2.659999, 0.125F); -> 2.625
    roundFloat(2.769999, 0.125F); -> 2.75
    roundFloat(2.879999, 0.125F); -> 2.875
    roundFloat(2.989999, 0.125F); -> 3
    

    Example 0.125 nearest rounding

     2.000 
     2.125 
     2.250 
     2.375 
     2.500 
     2.625 
     2.750 
     2.875 
     3.000 
    

提交回复
热议问题