HarmonyOS鸿蒙Next中getStringSync无法格式化字符串

HarmonyOS鸿蒙Next中getStringSync无法格式化字符串 getStringSync无法格式化字符串

3 回复

可能是写法有问题,类似这种${this.usedCount}不是标准的string类型不可以。

这种写法是可以的

getStringSync($r('app.string.formater'), `${this.usedCount}`, this.productName, `${this.leftCount}`)

string.json文件定义如下

{
    "name": "formater",
    "value": "%s %s %s"
}

更多关于HarmonyOS鸿蒙Next中getStringSync无法格式化字符串的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在HarmonyOS鸿蒙Next中,getStringSync 是用于同步获取字符串资源的方法。该方法直接返回字符串,不支持格式化操作。如果需要格式化字符串,可以使用 getString 方法,结合 ResourceManagergetString 方法来实现。例如:

let resourceManager = ...; // 获取 ResourceManager 实例
let formattedString = resourceManager.getStringSync($r('app.string.my_string'), arg1, arg2);

getStringSync 仅用于获取原始字符串资源,不处理格式化参数。

在HarmonyOS鸿蒙Next中,getStringSync 是用于同步获取字符串资源的方法,但它不支持直接格式化字符串。若需格式化字符串,可先通过 getStringSync 获取字符串资源,再使用 String.format 方法进行格式化。示例:

let str = this.$r('app.string.my_string').getStringSync();
let formattedStr = String.format(str, arg1, arg2);

其中,arg1arg2 为格式化参数。这种方式可实现字符串的动态替换与格式化。

回到顶部