如何在 ballerina lang 中进行字符串填充

How to do string padding in ballerina lang

我有一个整数值,我想用前导“0”填充这个整数值。我怎样才能在芭蕾舞演员中做到这一点?

int i = 1;

预期输出应该是

0000000001

我不知道有任何现成的 Ballerina 填充函数或数字格式化程序(例如 stringutils 中没有任何相关内容),所以应该可以写一个。例如:

import ballerina/io;

function lpad(int size, string value, string padStr) returns string {
    int diff = size - value.length();
    if (diff < 1) {
        return value;
    }

    string padding = "";
    while (diff > 0) {
        padding += padStr;
        diff -= 1;
    }

    return padding + value;
}

public function main() {
    int i = 1;
    io:println(lpad(10, i.toString(), "0"));
}

您可以为此使用 io:sprintf() 函数。以您给出的相同示例为例,

int i = 1;
io:println(io:sprintf("%09d", i));

上面会打印000000001.