変数をテキストファイルに保存しようとしていますが、チェコ語の活版印刷のルールに夢中になっています。私がチューニングしているプログラムは、10進数のコンマが使用されているチェコのローカライズされたコンピューターでの作業専用ですが、VBは通常の標準の小数点で動作しています。
ファイルをロードすると、「US」の小数が正しくロードされ、チェコの小数として表示されます。 TextBoxesでは、「チェコ語」の小数が必要です。私の問題は、プログラムがチェコの小数を生成し、「米国」の小数を必要とすることです。
VBプログラムに、区切り文字ではなく小数点としてコンマを読み取るように強制する方法、またはコンマではなくドットを使用してデータをエクスポートする方法を教えてください。
はい、123,456
をa=123
およびb=456
としてロードし、値をa + b/1000
として返すことができますが、より洗練された解決策はありますか?
Val
関数の使用が原因である可能性があります。それは国際的ではありません。ヘルプテキストでは、文字列から数値に変換するときにCDbl
を使用することを推奨しています。
適切な機能を選択してください。
Val
、Str
は常に米国の設定を使用します(10進数としてドット)CDbl
、Format
は地域の設定を考慮します。それはすべてマニュアルにあります 国際プログラミングのセクション 。
試してみてください
Format $(CDbl(Text1.Text)、 "#、## 0.00")
アドバイスをありがとうございます。何か間違っているかどうかはわかりませんが、エラー(タイプの不一致)または「チェコ語」の小数点コンマしか取得できません。
私は試しました '平手打ちをしましたか?彼をもっと強く叩きなさい!」このコードによるアプローチ:
Dim PpP As String, SaveFile As Integer
PpP = Form1.TxtA10.Text & " " & Form1.TxtA11.Text
PpP = Replace(PpP, ",", ".")
Print #SaveFile, PpP
編集:
somethingは、入力ではなく出力でこれらの関数を試すことを意味します。 (文字列パラメーターとしてDoubleを試すような)。
このコード:
Input #1,TempString
Form1.TxtA10.Text = CDbl(TempString)
同様に動作します。