Как сделать заполнение строк в балерина Lang - PullRequest
1 голос
/ 21 января 2020

У меня есть целочисленное значение, и я хочу заполнить, приводя «0» к этому целочисленному значению. Как я могу сделать это в балерина?

int i = 1;

Ожидаемый результат должен быть

0000000001

Ответы [ 2 ]

6 голосов
/ 21 января 2020

Для этого вы можете использовать функцию io:sprintf(). Принимая тот же пример, который вы дали,

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

Выше будет напечатано 000000001.

1 голос
/ 21 января 2020

Я не знаю ни о каких готовых функциях заполнения или преобразования чисел в 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"));
}
...