You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 09:00:41