如何格式化Scala中的字符串?

时间:2010-10-21 15:40:51

标签: scala

我需要打印一个包含scala.Long的格式化字符串。 java.lang.String.format()与scala.Long(编译时)和RichLong(java.util.IllegalFormatConversionException)不兼容

编译器警告在以下工作代码上弃用Integer:

val number:Long = 3243
String.format("%d", new java.lang.Long(number))

我应该更改fomatter,数据类型还是别的什么?

3 个答案:

答案 0 :(得分:40)

您可以尝试以下内容:

val number: Long = 3243
"%d".format(number)

答案 1 :(得分:20)

Scala中的格式方法直接存在于String的实例中,因此您不需要/想要静态类方法。您也不需要手动打开long原语,让编译器为您处理所有这些!

String.format("%d", new java.lang.Integer(number))
因此

更好地写成

"%d".format(number)

答案 2 :(得分:7)

@ Bruno的回答是你应该在大多数情况下使用的。

如果必须使用Java方法进行格式化,请使用

String.format("%d",number.asInstanceOf[AnyRef])

将为Long很好地填充Java。