問題タブ [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.
c# - IFormatProvider は何をしますか?
私は Datetime.ParseExact メソッドをいじっていましたが、IFormatProvider が必要です...
null を入力しても機能しますが、正確には何をするのでしょうか?
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"
これも実装してみました -->
しかし、まだ何もありません。
c# - C#IFormatable ToString( "0.0000")
ToString("0.0000")
クラスがあり、関連する機能やその他の数値フォーマットを再現したいと思います。これはどのように行うことができますか?
c# - DateTime のカスタム IFormatProvider を作成して使用する方法は?
IFormatProvider
DateTime オブジェクトのカスタム フォーマット文字列を認識する実装を作成しようとしていました。これが私の実装です:
私はそのようにメソッドでそれを使用できると思っていましたDateTime.ToString(string format, IFormatProvider provider)
が、:
この例では、US Culture で実行すると、結果は"00cu0Ao00or0aA"
になります。これは、標準の DateTime 形式の文字列が解釈されているためと思われます。
ただし、次の方法で同じクラスを使用すると:
つまり、期待どおりの結果が得られます"Sun Jan 02"
結果の違いがわかりません。誰か説明してくれませんか?
ありがとう!
.net - Label.Text / Convert.ToString And String.Format Help / Thousand Separator
表示したいラベルがありますText("1234567")
。千の区切り文字が付いた数字のようです//
どうすればこれを行うことができますか:
この2つを説明してください。
winforms - DataGridView でのカスタム フォーマッタの使用
したがって、これは悪い設計である可能性があります。知らない。しかし、値DataTable
を保持する列があるとします。int
これらの値は、実際enum
には、私のプロジェクトにある型を表すことを意図しています。
私がやりたいのは、DataGridView
このテーブルにバインドし、列enum
に整数値「0」または「1」などではなく、の名前を表示させることです。
私が検討したオプションの 1 つは、正規化全体を行うことでした。名前を含むテーブルを に追加DataSet
しenum
、enum
値をキーにして、最初のテーブルにこのテーブルへの参照を保持させます。
しかし、これは特定のenum
アイデアです。IFormatProvider
一般に、特定の型に対して独自のICustomFormatter
実装*を記述し、そのフォーマッタを使用して、コントロールの特定の列に値を表示する方法を制御できるかどうかを知りたいですDataGridView
(または、実際には任意のコントロールで) .
*これは、私が求めていることがまったく可能であれば、私がそれを行うと思う方法です. 私は、これらのインターフェイスの使用にまったく固執していません。
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" 文字列を含むローカライズされたリソースを簡単に返すことができます。
では、これを行うにはどうすればよいですか?
ありがとう
c# - 整数値を持つ IFormatProvider
オブジェクトに整数値があります。整数値としてキャストする必要があります。だから私はこのようにしました。System.Convert.ToInt64(Object) しかし、FxCop は、IFormatProvider を提供する必要があると言いました。文字列データ型 IFormatProvider を提供しても問題ありません。整数値の IFormatProvider を提供するにはどうすればよいですか?
c# - GetFormat は IFormatProvider 型を取得しません
WinGrid (Infragistics、知っておく必要がある場合) で、s を含む列を取得しましたint
。値は、時間を計算できる秒数です。まさにそれを行う IFormatProvider/ICustomFormatter を作成しました。グリッドの初期化中に、Format および FormatInfo パラメーターを設定しました。
ただし、カスタム型フォーマッタで GetFormat が呼び出されると、型パラメータは常に NumberFormatInfo であり、ICustomFormatter ではありません。なんで?
それが役立つ場合に備えて、これが私のクラスです:
asp.net - ASP.Net で IFormatProvider を使用するにはどうすればよいですか?
このIFormatProvider
インターフェイスを使用すると、オブジェクトを文字列としてカスタム フォーマットするクラスを作成できますstring.Format
。
ただし、ASP.Net で簡単に使用する方法はないようです。たとえば、 がある場合、DataGrid
を作成し、BoundColumn
それを使用してそれをフォーマットする方法を指定できますが、実装DataFormatString
を使用するように指示する方法がわかりません。デフォルトのフォーマット文字列に限定されているようです。IFormatProvider
BoundColumn
これまでに見つけた最善の解決策は、DataGridColumn
本質的に の機能を複製する独自のクラス拡張を作成することですBoundColumn
。
それを行うより良い方法はありますか?