問題タブ [string-formatting]
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# - 文字列形式のカスタム文字列プレースホルダーを提供する方法
私は文字列を持っています
string.format を使用してフォーマットしています。
ここで、患者もいくつかの構成から取得したい場合は、 str を のようなものに変更する必要があります
"Enter {0} {1} name"
。したがって、{1} を 2 番目の値に置き換えます。問題は、{1} の代わりに{pat}
. しかし、使用しようとすると、エラーがスローされます。別の形式が必要な理由は、このように変更する必要があるファイルがたくさんあるためです ({0}、{1} などを含む可能性があります)。そのため、実行時に置き換えることができるカスタム プレースホルダーが必要です。
c# - C#/WPF 表示カスタム文字列 (例: "0" を string.empty に置き換えます)
TextBox を文字列値にバインドしました
文字列「0」のstring.emptyまたは「」、および他のすべての文字列を元の値で表示するにはどうすればよいですか?
助けてくれてありがとう!
乾杯
PS: 1 つの方法は、文字列のカスタム ViewModel です..しかし、可能であれば、XAML で直接行うことをお勧めします。
c# - C#:価格値文字列のフォーマット
C#では、値が10215.24の2倍の変動価格があります。いくつかの桁の後にコンマで価格を表示したいと思います。私の期待する出力は10,215.24です
c++ - C++ ランタイム文字列の書式設定
通常、フォーマットにはストリームを使用しますが、この場合は?実行時までフォーマットがわかりません。
次のような書式文字列を取得できるようにしたいと考えています:
Hello {0}! 最後にログインしたのは {1,date:dd/mm/yy} です。
...変数 "Fire Lancer" と 1247859223 を入力すると、最終的に次のような書式設定された文字列になります:
Hello Fire Lancer! 前回のログインは 17/07/09 でした。
私が使用する他の言語では、この種のサポートが組み込まれています。たとえば、pythons フォーマット文字列メソッドですが、c++ ではそのような機能はないようです。あまり安全ではない C 印刷メソッドを受け入れます。
また、これは高性能プログラム用であるため、使用するソリューションは、毎回文字列を再解析するのではなく、フォーマット文字列を一度解析して保存する必要があります (たとえば、Format(string) メソッドで FormatString オブジェクトを返す Parse メソッドなど)。フォーマットメソッドが呼び出されます...
.net - 丸めなしで通貨をフォーマットする
10 進数を通貨としてフォーマットする必要がありますが、その過程で丸めを行いたくありません。
例 (例のカルチャは en-US)
このアプリケーションのすべてのユーザーが en_US ルールを使用すると仮定すると、"??" を作成できます。「$#,##0.00######################################」のようにハードコーディングされたものであること########################### 」 - しかし、それは私の胃を混乱させます. 私が求めていることを達成するための組み込みの方法はありますか?
javascript - Javascript:なぜこれは醜い文字列を生成するのですか?通貨が欲しい
いくつかのテキストボックスをループして、それらの値を合計しようとしています。これにより、厄介な文字列が生成されます。何が足りないの?最初のテキストボックスに8を入力すると、合計テキストは「08.000.000.000.00」になります。私は何が間違っているのですか?通貨としてフォーマットしたいのですが、そうでない場合は、少なくとも10進数の2つだけです。ポインタはありますか?
formatting - common lisp で連想リストをフォーマットするにはどうすればよいですか?
私は Common Lisp を書き始めており、物事をまとめてフォーマットするコツをつかんでいます。
次のような連想リストがあるとします。
このようにフォーマットするにはどうすればよいですか?
のようなことを考えて(format t "~{~{~a: ~a~}~%~}" *map*)
いましたが、「ゼロ」はリストではなく、車を取ることができないため、エラーが発生します。
もちろん(format t "~{~a~%~}" *map*)
版画もやってます
あるべきようですが、私が望んでいるものではありません。これを行うよりも良い方法はあり(dolist (entry *mapping*) (format t "~a: ~a~%" (car entry) (cdr entry)))
ますか?
asp.net - 通貨記号を左揃えにしたまま数値を右揃えにフォーマットする
組み込みの FormatString またはカスタム FormatString を使用する方法はありますか:
$150.00
$1,170.00
$12,170.00
$90.00
$38.00
$750.00
そして、次のようにフォーマットします。
最大値を知らずに?これは gridview の boundcolumn にあります。現在、rowdatabound の分離コードで、既存の行をループして最大の行を取得し、必要に応じて現在の行を変更するか、現在の行が最大の場合は既存の行を変更しているため、回避策がありますが、クリーンなソリューションを望んでいます。
c# - SqlDataReaderとLabelを使用する場合、「入力文字列が正しい形式ではありませんでした」
SelectステートメントでContactとRetailTrainingUserLevelMapの2つのテーブルを結合しています。
(両方の共通の列はRetailTrainingUserLevelID intです)
SELECT Contact.IntranetUserName、Contact.CompanyName、RetailTrainingUserLevelMap.RetailTrainingUserLevel
連絡先から
INNER JOIN RetailTrainingUserLevelMap ON Contact.RetailTrainingUserLevelID = RetailTrainingUserLevelMap.RetailTrainingUserLevelID
AND Contact.RetailTrainingUserLevelID = RetailTrainingUserLevelMap.RetailTrainingUserLevelID
WHERE(Contact.IntranetUserName = @IntranetUserName)
このステートメントをVisualStudioクエリビルダー(テストクエリウィンドウ)で実行し、「IntranetUserName」の値を入力すると、次のようになります。
IntranetUserName:
John Joe
会社名:
Acme Inc.
RetailTrainingUserLevel:
マネージャー
これは私の望ましい出力ですが、これまでのところ良好です。
SqlDataReaderを使用して.csコードビハインドでこれと同じselectステートメントを使用して、ラベルを次のようにこれらの列の一部にバインドすると、次のようになります。
「入力文字列が正しい形式ではありませんでした」というエラーが表示されます。ここで:
userLevelLabel.Text + = reader ["RetailTrainingUserLevel"];
その値をuserLevelLabelに適切にバインドできるようにするには、ここでどのC#構文を変更する必要がありますか?
注:RetailTrainingUserLevelID int
RetailTrainingUserLevel varchar(50)
あなたの時間と知識に感謝します。