我在通常的 strings.xml 资源文件中定义了字符串,如下所示:
<string name="hello_world"> HELLO</string>
是否可以定义如下格式字符串
result_str = String.format("Amount: %.2f for %d days ", var1, var2);
在strings.xml 资源文件中?
我尝试转义特殊字符,但它不起作用。
您不需要formatted="false"在您的 XML 中使用。您只需要使用完全限定的字符串格式标记 - %[POSITION]$[TYPE]([POSITION]属性位置和[TYPE]变量类型在哪里),而不是短版本,例如%sor %d。
formatted="false"
%[POSITION]$[TYPE]
[POSITION]
[TYPE]
%s
%d
来自 Android Docs 的引用:字符串格式和样式:
<string name="welcome_messages">Hello, %1$s! You have %2$d new messages. 在这个例子中,格式字符串有两个参数:%1$s一个字符串和%2$d一个十进制整数。您可以使用应用程序中的参数格式化字符串,如下所示: Resources res = getResources(); String text = res.getString(R.string.welcome_messages, username, mailCount);
<string name="welcome_messages">Hello, %1$s! You have %2$d new
messages.
在这个例子中,格式字符串有两个参数:%1$s一个字符串和%2$d一个十进制整数。您可以使用应用程序中的参数格式化字符串,如下所示:
%1$s
%2$d
Resources res = getResources(); String text = res.getString(R.string.welcome_messages, username,
mailCount);