問題タブ [culture]
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.
.net - すべてのカルチャの CultureInfo を示す表へのリンク
カルチャの日時のすべての形式を示すテーブルを見つけようとして、頭がおかしくなっています
私は狂ったようにグーグルしてきましたが、私が欲しいのはそのテーブルだけです! ARG
すなわち
en-CA = DD/MM/YYYY 0.00 en-FR = MM/DD/YYYY 0,00
MSDN またはウィキペディアへのリンクを探しています。これは過去に見たことがあります。
.net - .NET カルチャ変更イベント?
カルチャに依存する方法で情報を表示する .NET カスタム コントロールがあります。パフォーマンスを向上させるために、毎回生成するのではなく、コントロール内にいくつかの情報をキャッシュします。この内部情報を適切に再生成できるように、文化が変化したかどうかを知る必要があります。
私がフックしているイベントはありますか?それとも、ペイントするたびにカルチャ設定をテストして、変更されているかどうかを確認する必要がありますか?
c# - ASP.NET - ローカライズされた数値の変換
ユーザー入力を受け入れるテキストボックスがあります。このユーザー入力を使用して、ビジネス オブジェクトの 1 つのメンバーにデータを入力しようとしています。
アプリケーションはローカライズされています - これらを有効な入力として受け入れるカルチャを同時にサポートする必要があります: "1,5" および "1.5"
私が今持っているコードは次のとおりです。
ユーザー カルチャが "1,5" 形式 (小数点記号としてコンマ) を想定するカルチャに設定されている場合 (例: "ro-RO")、entity.ExchangeRate に格納される値を 1.5 にする必要があります。ただし、上記のコードを実行すると、代わりに 15 に変換されます。
これらのさまざまな形式を変換して、ビジネスエンティティに保存されるデータが「1.5」(小数点としてのポイント) になるようにする方法について何か提案はありますか?
ありがとう。
あなたは正しかった - Thread.CurrentThread.CurrentUICulture の代わりに Thread.CurrentThread.CurrentCulture を使用し、int.TryParse の代わりに decimal.TryParse を使用することは理にかなっている。
しかし、これらの変更はまだ私の問題を解決しません。そして、コードをもう少しいじった後、問題を次のように単純化できます。
ユーザーが文化に基づいて正しい形式を使用するように強制するテレリック RadNumericTextBox コントロールを使用しています。したがって、Thread.CurrentThread.CurrentCulture が「ro-RO」に設定されている場合は「1,5」形式のみが受け入れられ、「en-GB」に設定されている場合は「1.5」形式のみが受け入れられます。
私が今使っているコードは次のとおりです。
ケース 1: 現在のカルチャは "en-GB" です - 受け入れられる入力は "1.5" で、exchangeRate は 1.5 に設定されています - すべて正常に動作します。
ケース 2: 現在のカルチャは "ro-RO" です - 受け入れられる入力は "1,5" ですが、decimal.TryParse... 行を実行した後、exchangeRate は 15 に設定されます - 明らかに間違っています。この場合、txtExchangeRate.Text の値もウォッチ ウィンドウに「1.5」と表示されます。
したがって、 decimal.TryParse は現在のカルチャを考慮しているように見えますが、実際に適切に機能させる方法が見つかりません。助言がありますか?
c# - Double.Parse - 国際化の問題
これは私を夢中にさせています。ASP.NET 2.0 WebForm ページに次の文字列があります。
十分に単純です。ここで、文化がスペイン語 ("es-ES") で、文字列を Double に変換しようとすると、次のようになります。
私が期待するのは0.009です。代わりに、私は 9 を取得します。.NET はそれが 1000 区切りであると考えていることを理解しています。変換?
私が行った場合
フォーマットは 0,009 になりました。誰か?
sql - 値を文字列との間で変換するときに、SQL Server はカルチャ/ロケールを考慮しますか?
値をフォーマット/解析するときにCultureInfoand/orを適切に指定するために、大きなコードベースを更新しようとしています。IFormatProviderたとえば、ユーザーから取得した値を解析する場合は、 をCultureInfo.CurrentCulture呼び出すときに渡しTryParse、float を永続化のために文字列に変換する場合は、 をCultureInfo.InvariantCulture呼び出すときに渡しToStringます。
私の質問は次のとおりです。SQL クエリを生成するとき、インバリアント カルチャまたは SQL サーバーのカルチャを使用して数値などをフォーマットする必要がありますか? つまり、私のコンピューターがドイツ語 (ドイツ) に設定されている場合、これらのクエリのどれが正しいですか?
また
同様に、SQL を使用CASTして浮動小数点値を文字列に変換する場合、SQL は変換にどのロケールを使用するのでしょうか?
SQL ドキュメントを検索しましたが、これまでのところ良い答えが見つかりません。日付の書式設定 (SET DATEFORMAT など) に関する情報はいくつか見つかりましたが、それだけです。
注: 入力を SQL クエリに渡す方法としては、パラメーターを使用することをお勧めします。したがって、引数をクエリ文字列にフォーマットする正当な理由があると仮定しましょう。また、クエリ入力の処理は、より広範な問題の一部にすぎません。
performance - 単一の大規模な SVN プロジェクトのベスト プラクティス
私は svn で単一のプロジェクトを継承しました: 300,000 以上のファイルで 30Gb。ほとんどの場合、イメージフォルダーに大量のバイナリファイルがあります。プロジェクト全体の更新などの操作は、大幅に遅くなる可能性があります。
チームは、作業中の特定のフォルダーでのみ更新/切り替えを実行し、「私のコンピューターで動作する」という理由で壊れたコードをチェックするプロセスを進化させました。1 人の作業コピーには、古いコード、交換されたコード、および決してコミットされていない忘れられたコードが含まれる可能性があります。また、最小限の分岐が発生します。
私の個人的な解決策は、毎朝 5 時に小さな bash チェックアウト/ビルド スクリプトを実行することですが、誰もが私の解決策をコピーするコマンド ラインの勇気を持っているわけではありません。
このような大規模なリポジトリを調整しようとした人はいますか?アドバイスを与えることができますか? 大規模なリポジトリを操作するために実装できるベスト プラクティスはありますか?
PS の外部は良い考えではないようです。単一のプロジェクトを扱っているため、大規模なリポジトリの応答性を維持するための SVN の最適化はここでは適用されません。
PPS これは現在調査中です: http://www.ibm.com/developerworks/java/library/j-svnbins.html
c# - これらの2つの文字列の違いは何ですか?
nUnitを使用して特定のカルチャの出力(通貨フォーマット)をテストしますが、次の結果が得られます。
文字列の違いはわかりません。期待される結果は「スペース」文字を使用しています。
テストに合格するために受け入れられた結果に入れることができる別のスペース文字はありますか?
ちなみに、テストされた文化はfr-FRです。
編集:アダムに感謝します。あなたはユニコード文字に精通しています。期待される結果を変更し、各ユニットテストに合格しました。
asp.net - カルチャに応じた適切な日付形式の表示
ポップアップ カレンダーの日付ピッカーのコントロールを使用しています。これは、JavaScript 関数 SetText を使用して、テキスト ボックスを指定された日付に設定します。カレンダー コントロール自体を変更することはできませんが、SetText 関数をオーバーライドすることはできます。SetText JavaScript は、TextBox 名と日付値を文字列形式で取得し、TextBox を文字列に設定します。
問題: 日付を「4 月 30 日」の形式で表示する必要があります。
簡単にできます。そこから情報を解析できる getMonth() と getDate() を使用します。
ここで、これが異なる文化に対して正しく表示されることを確認する必要があります。たとえば、英国では日付が「4 月 30 日」と表示されます。コード ビハインド (c#) は日付を UK 形式で送信している可能性があるため、JavaScript で US (mm/dd/yyyy) ではなく UK(dd/mm/yyyy) を使用していることをどのように知ることができますか?
ブラウザのナビゲータ言語をある設定に設定し、サーバーを別の設定に設定すると、1 月 4 日と 4 月 1 日の不一致が発生する可能性があります。
.net - アプリケーションを作成せずにPCの地域文化を判断する
アプリケーションを実行せずにPC(en-USなど)の地域の文化を判断する方法はありますか?コントロールパネルを見てみました| 地域設定(WinXPを実行)ですが、そこでの選択がPCの文化にどのように対応しているかわかりません。
コマンドプロンプト(PowerShellではない)からコマンドを実行するなど、.exeを作成する必要のないソリューション、またはVbScriptまたはJSファイル(IEではなく実際のカルチャを取得している限り)を探しています。設定。)
ありがとう