sprintf相当于xtend

时间:2013-05-17 03:05:13

标签: string-formatting printf xtend

是否可以在xtend中格式化字符串?我正在寻找像C中的sprintf一样的东西。

我尝试在java中使用String.format,但我不知道为什么它在xtend中不可用。 也许,他们有类似的东西?

1 个答案:

答案 0 :(得分:3)

您可以使用XText中的XPand language内联创建格式良好的字符串(包括换行符等),因此:

val myVar = 'Hello, world!'
println('''This is a string referring to a variable: «myVar».

It will print out «myVar?.length ?: 0» characters, as the 
variable «IF myVar == null»is«ELSE»is not«ENDIF» null.''')

如果您需要访问Java的String.format函数,请记住使用双冒号访问静态成员,因此:

val formatted = String::format("Value: %1$.2f", 3.142)