【问题标题】:How to use integer in formatting string resource? [duplicate]如何在格式化字符串资源中使用整数? [复制]
【发布时间】:2021-09-02 07:55:12
【问题描述】:

我有这种类型的字符串:

<string name="temperature">%1$s °C</string>

如何在变量应该代替字符串的地方使用整数?我看过文档,发现只有关于字符串和双精度的信息

【问题讨论】:

  • 要添加到上面的注释中,十进制数字标识符 d 适用于整数,如果您保持代码不变,它仍然可以工作,因为整数将在限制内被强制转换为字符串选角课程
  • @gtxtreme 我在使用带有整数的“d”时崩溃了
  • 你应该将它包装在一个 try-catch 结构中以确切知道为什么会发生这种情况,但我使用它并且它通常对我有用

标签: android


【解决方案1】:

在 Android 中以某种方式为 Int 类型设计了 %1$d。 %1$f 专为 Double 类型设计。

【讨论】:

    【解决方案2】:

    在您的 XML 文件中使用它来将整数转换为字符串:

    <string name="my_name">Text here num %1$d</string>
    

    然后在您的 java 文件中调用 XML 字符串资源,如下所示:

    getString(R.string.my_name), getResources().getInteger(R.integer.num1)));
    

    这样 %d 将被您在 getString 中传递的整数替换。

    【讨论】:

    • @Dante313 我的解决方案不适合你吗?
    猜你喜欢
    • 2015-12-16
    • 1970-01-01
    • 1970-01-01
    • 2019-05-16
    • 2011-08-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-08
    相关资源
    最近更新 更多