我希望以格式化方式编写一串变量值,具体如下:
最大小数点为3。 如果少于3个重要点而不是写入。
例如: 数字1.53848将写为1.538 数字1.0将写为1(而不是1.000)。
val variable1 = 1.
val variable2 = 1.53848
language = "%s average value is %.3f and %.3f".format(variable1, variable2)
答案 0 :(得分:2)
这应该可以解决问题:
def format(d: Double) =
BigDecimal(d).scale match {
case x if x > 2 => "%.3f".format(d)
case _ => d.toInt.toString
}
答案 1 :(得分:1)
如何删除零(可能还有逗号/分隔符)?
def formatted(d: Double) = "%.3f".format(d).replaceAll(",?0+$", "")