必要に応じて、数値の先頭にゼロを付けてフォーマットしたいと思います。
例:
1 >> 01
5 >> 05
10 >> 10
私はこれを試しました:
<td data-bind="text: ProjectId.toString('00')"></td>
ProjectId
私の番号を含むプロパティはどこにありますか.
しかし、うまくいきません。エラーが発生しますNumber.prototype.toString: invalid argument
何か案が?
必要に応じて、数値の先頭にゼロを付けてフォーマットしたいと思います。
例:
1 >> 01
5 >> 05
10 >> 10
私はこれを試しました:
<td data-bind="text: ProjectId.toString('00')"></td>
ProjectId
私の番号を含むプロパティはどこにありますか.
しかし、うまくいきません。エラーが発生しますNumber.prototype.toString: invalid argument
何か案が?
非常に単純なケースでは、これはうまくいくはずです:
<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です。それ自体は便利ですが、探しているものとはまったく異なります。