6

人間が読めるように文字列内の数値をフォーマットする簡単な方法と動的な方法はありますか? たとえば、 に変わり10000000000ます10,000,000,000。私はこの質問を見たことがありますが、答えは時代遅れで壊れています(例のあるもの)。

4

3 に答える 3

4

この疑似アルゴリズムを試してください:

  1. 文字列の長さを 3 で割る
  2. それを切り捨てて、それを呼び出しますx
  3. x逆方向に、文字列時間をループします。

    1. x3 倍の位置、またはインデックス [(x x 3) - 1]の文字列を取得します。これを と呼びますy
    2. yと置き換えます"," + y
于 2016-01-11T03:59:55.317 に答える
3

私は自分の人生でさびを使ったことはありませんが、これは私がここから解決策を翻訳して思いついたものです:

fn main() {
    let i = -117608854;
    printcomma(i);
}

fn printcomma(mut i: i32) {
    if i < 0 {
        print!("-");
        i=-i;
    }
    if i < 1000 {
        print!("{}", i.to_string());
        return;
    }
    printcomma(i/1000);
    print!(",{:03}", i%1000);
}

「-117,608,854」を返します

于 2016-01-11T04:33:39.240 に答える