問題タブ [iformatprovider]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
9 に答える
138406 参照

c# - IFormatProvider は何をしますか?

私は Datetime.ParseExact メソッドをいじっていましたが、IFormatProvider が必要です...

null を入力しても機能しますが、正確には何をするのでしょうか?

0 投票する
3 に答える
780 参照

c# - 文字列をフォーマットして日付を正しく表示する

この文字列を--> 20090727 10:16:36:643 から -->に変換するのに助けが必要です 07/27/2009 10:16:36

元の日付と時刻がSynchronizationAgent.LastUpdated()関数によって返され、上記の形式で文字列が返されます。


元の質問:参照用に保存

私はこれを持っています-->

次のようなプロパティを設定しています-->

残念ながら、String.Format表示される日付の有無にかかわらず、次のようになります--> 20090727 10:16:36:643

希望どおりにフォーマットするために、複数のバリエーションを試しました。私は何が欠けていますか?

以下の提案 (主に Joel のもの) に基づいて、提案された変更を実装しましたが、まだ"String is not a valid DateTime error"

これも実装してみました -->

しかし、まだ何もありません。

0 投票する
2 に答える
2243 参照

c# - C#IFormatable ToString( "0.0000")

ToString("0.0000")クラスがあり、関連する機能やその他の数値フォーマットを再現したいと思います。これはどのように行うことができますか?

0 投票する
3 に答える
53676 参照

c# - DateTime のカスタム IFormatProvider を作成して使用する方法は?

IFormatProviderDateTime オブジェクトのカスタム フォーマット文字列を認識する実装を作成しようとしていました。これが私の実装です:

私はそのようにメソッドでそれを使用できると思っていましたDateTime.ToString(string format, IFormatProvider provider)が、:

この例では、US Culture で実行すると、結果は"00cu0Ao00or0aA"になります。これは、標準の DateTime 形式の文字列が解釈されているためと思われます。

ただし、次の方法で同じクラスを使用すると:

つまり、期待どおりの結果が得られます"Sun Jan 02"

結果の違いがわかりません。誰か説明してくれませんか?

ありがとう!

0 投票する
2 に答える
2708 参照

.net - Label.Text / Convert.ToString And String.Format Help / Thousand Separator

表示したいラベルがありますText("1234567")。千の区切り文字が付いた数字のようです//

どうすればこれを行うことができますか:

この2つを説明してください。

0 投票する
1 に答える
2942 参照

winforms - DataGridView でのカスタム フォーマッタの使用

したがって、これは悪い設計である可能性があります。知らない。しかし、値DataTableを保持する列があるとします。intこれらの値は、実際enumには、私のプロジェクトにある型を表すことを意図しています。

私がやりたいのは、DataGridViewこのテーブルにバインドし、列enumに整数値「0」または「1」などではなく、の名前を表示させることです。

私が検討したオプションの 1 つは、正規化全体を行うことでした。名前を含むテーブルを に追加DataSetenumenum値をキーにして、最初のテーブルにこのテーブルへの参照を保持させます。

しかし、これは特定のenumアイデアです。IFormatProvider一般に、特定の型に対して独自のICustomFormatter実装*を記述し、そのフォーマッタを使用して、コントロールの特定の列に値を表示する方法を制御できるかどうかを知りたいですDataGridView(または、実際には任意のコントロールで) .

*これは、私が求めていることがまったく可能であれば、私がそれを行うと思う方法です. 私は、これらのインターフェイスの使用にまったく固執していません。

0 投票する
4 に答える
2125 参照

c# - 通貨値が $0.00 の場合に「無料」を表示するカスタム NumberFormatInfo を作成する C#

ASP.NET MVC アプリケーションで通貨を表示する必要がありますが、通貨が 0 の場合、$0.00 ではなく「無料」(もちろんローカライズされています!) を表示したいと考えています。

だから私はこのようなものを持っているとき...

出力は「$0.00」「$100.00」です。

「無料」「$100.00」にしてほしい

.ToString(string format, IFormatProvider formatProvider) メソッドを使用してこれを実現できると思いますが、どうすればよいかわかりません。明らかに、NumberFormatInfo をできるだけ再利用し、入力が 0 の場合にのみオーバーライドしたいと考えています。その場合、"Free" 文字列を含むローカライズされたリソースを簡単に返すことができます。

では、これを行うにはどうすればよいですか?

ありがとう

0 投票する
4 に答える
4004 参照

c# - 整数値を持つ IFormatProvider

オブジェクトに整数値があります。整数値としてキャストする必要があります。だから私はこのようにしました。System.Convert.ToInt64(Object) しかし、FxCop は、IFormatProvider を提供する必要があると言いました。文字列データ型 IFormatProvider を提供しても問題ありません。整数値の IFormatProvider を提供するにはどうすればよいですか?

0 投票する
1 に答える
728 参照

c# - GetFormat は IFormatProvider 型を取得しません

WinGrid (Infragistics、知っておく必要がある場合) で、s を含む列を取得しましたint。値は、時間を計算できる秒数です。まさにそれを行う IFormatProvider/ICustomFormatter を作成しました。グリッドの初期化中に、Format および FormatInfo パラメーターを設定しました。

ただし、カスタム型フォーマッタで GetFormat が呼び出されると、型パラメータは常に NumberFormatInfo であり、ICustomFormatter ではありません。なんで?

それが役立つ場合に備えて、これが私のクラスです:

0 投票する
0 に答える
540 参照

asp.net - ASP.Net で IFormatProvider を使用するにはどうすればよいですか?

このIFormatProviderインターフェイスを使用すると、オブジェクトを文字列としてカスタム フォーマットするクラスを作成できますstring.Format

ただし、ASP.Net で簡単に使用する方法はないようです。たとえば、 がある場合、DataGridを作成し、BoundColumnそれを使用してそれをフォーマットする方法を指定できますが、実装DataFormatStringを使用するように指示する方法がわかりません。デフォルトのフォーマット文字列に限定されているようです。IFormatProviderBoundColumn

これまでに見つけた最善の解決策は、DataGridColumn本質的に の機能を複製する独自のクラス拡張を作成することですBoundColumn

それを行うより良い方法はありますか?