0

必要に応じて、数値の先頭にゼロを付けてフォーマットしたいと思います。

例:

1 >> 01

5 >> 05

10 >> 10

私はこれを試しました:

<td data-bind="text: ProjectId.toString('00')"></td>

ProjectId私の番号を含むプロパティはどこにありますか.

しかし、うまくいきません。エラーが発生しますNumber.prototype.toString: invalid argument

何か案が?

4

2 に答える 2

0

非常に単純なケースでは、これはうまくいくはずです:

<span data-bind="text: ProjectId < 10 ? '0' + ProjectId.toString() : ProjectId"></span>

または、代わりにこのロジックをモデルに移動します。

vm.paddedProjectId = ko.computed(function() {
    return vm.ProjectId < 10 ? '0' + vm.ProjectId.toString() : vm.ProjectId;
});

これは、ゼロ未満の数値に対しては機能せず、ゼロの動的な数値も取得しません (たとえば、数値が 100 を超える場合は、「005」などが必要になる場合があります)。また、空の文字列ProjectIdなど、予期しない値が含まれる不確かな結果になる場合もあります。そのような場合は、コメントに記載されている質問を参照してください。

PS。使用している関数は、基数引数を期待するNumber.toStringです。それ自体は便利ですが、探しているものとはまったく異なります。

于 2013-09-01T11:40:30.117 に答える