根据小数点的字符串格式

时间:2014-11-23 20:21:04

标签: string scala digits

我希望以格式化方式编写一串变量值,具体如下:

最大小数点为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)

2 个答案:

答案 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+$", "")