将php函数转换为kotlin
如何将此php函数转换为kotlin将php函数转换为kotlin,php,kotlin,Php,Kotlin,如何将此php函数转换为kotlin function round_up($number, $precision = 2) { $fig = pow(10, $precision); return (ceil($number * $fig) / $fig); } 我试着这样做,但不起作用 fun round_up(number: Float, precision = 2){ val fig = pow(10,precision) return (ceil(nu
function round_up($number, $precision = 2)
{
$fig = pow(10, $precision);
return (ceil($number * $fig) / $fig);
}
我试着这样做,但不起作用
fun round_up(number: Float, precision = 2){
val fig = pow(10,precision)
return (ceil(number * fig) / fig)
}
预期用途:
val currentFloatValue = 1.568
val finalValue = round_up(currentFloatValue)
// result should be
// 1.57
这几乎是正确的:
- 使用
而不是Double
,因为这是Kotlin中的默认浮点数李>Float
- 定义
参数的类型,例如Int精度
- 定义返回类型,例如Double
- 使用
而不是Double
,因为这是Kotlin中的默认浮点数李>Float
- 定义
参数的类型,例如Int精度
- 定义返回类型,例如Double
你不能用二进制精确地表示十进制数1.57。您的方法本身就是有缺陷的,因此,如果您想四舍五入到小数点,则需要使用十进制类型。或者,更好的方法是,在将数字转换为文本之前不进行舍入,在文本中通过格式规范隐式地进行转换。顺便说一句:“不工作”不是一个有用的问题描述,请参阅。十进制数1.57不能完全用二进制表示。您的方法本身就是有缺陷的,因此,如果您想四舍五入到小数点,则需要使用十进制类型。或者,更好的方法是,在将数字转换为文本之前不进行舍入,在文本中通过格式规范隐式地进行转换。顺便说一句:“不工作”不是一个有用的问题描述,请参阅。
fun round_up(number: Double, precision: Int = 2): Double {
val fig = pow(10.0, precision.toDouble())
return ceil(number * fig) / fig
}