round() 函数的模拟,用于将 0.5 转换为 0

问题描述 投票:0回答:1

嗨,我需要模拟 round() 函数来将 0.5 变成 0。 例如 0.4 -> 0 ; 9.5 -> 9 ; 10.6 -> 11

我也试着做

     var height = Math.round(width / firstNum * thecondNum).toInt()
    var e = height.toDouble()
    var roundedHalfDown = e.toBigDecimal().setScale(0, ROUND_HALF_DOWN).toDouble().toInt()

  
    return ("$width x $roundedHalfDown").replace(" ","")
}

我也试过这个

 var height = Math.round(width / firstNum * thecondNum).toInt()
    var e = height.toDouble()
    var r = Math.floor(e)
    if ((height % 10) == 5){
        
      r -= 1
        return ("$width x $r").replace(" ","")
    }
    
    else return ("$width x $height").replace(" ","")
}

测试说 4:3,宽度 = 1457 预期:<1457x109[2]> 但实际为:<1457x109[3]>

kotlin rounding
1个回答
0
投票

您可能只是从您的值中减去可能的最小间隔(取决于数据类型),因此 0.5 -> 0.49999999 然后向下舍入。

© www.soinside.com 2019 - 2024. All rights reserved.