Kotlin新手求教:如何调用Double.foo()及两位小数四舍五入函数?
Kotlin中Double.foo()函数的调用示例
嗨,作为Kotlin新手碰到这种自定义扩展函数的调用问题太正常啦~首先得明确:Double.foo()并不是Kotlin标准库自带的函数,它应该是针对保留两位小数场景写的Double类型扩展函数。我先给你还原常见的函数定义,再给你几种调用示例:
第一步:先明确函数的常见定义
通常这类函数的实现大概是这样(对应你提到的"保留两位小数"需求):
// 扩展Double类型,添加foo函数,返回保留两位小数的Double值 fun Double.foo(): Double { // 这里用String格式化后转Double,也可以用DecimalFormat等实现 return String.format("%.2f", this).toDouble() }
几种常用的调用方式
直接调用Double字面量
你可以直接在一个Double数字后面调用这个函数:val formattedNum1 = 3.1415926.foo() println(formattedNum1) // 输出结果:3.14调用Double变量
如果你的数值存在变量里,直接在变量名后调用即可:val originalNumber = 2.71828 val formattedNum2 = originalNumber.foo() println(formattedNum2) // 输出结果:2.72链式调用(配合其他计算)
可以和其他计算逻辑链式使用,非常方便:// 比如计算10除以3,然后保留两位小数 val result = (10 / 3.0).foo() println(result) // 输出结果:3.33
补充:如果函数返回String类型
要是那个解答里的foo函数是返回格式化后的字符串(而不是Double),实现和调用会略有不同:
// 返回String类型的版本 fun Double.foo(): String { return String.format("%.2f", this) } // 调用示例 val formattedStr = 5.6789.foo() println(formattedStr) // 输出结果:"5.68"
内容的提问来源于stack exchange,提问作者Clan
相关产品推荐
相关产品推荐

