0

javaスクリプトによってテキストが動的に入力されるasp.net 4テキストボックスコントロールがあります。正確には Google マップの呼び出しです。それは私にあるポイントから別のポイントへのマイレージを与えています. テキストが表示されると、" 234 mi" と表示されます。テキストが Int32 に変換されているため、このテキストの "mi" の部分を削除する必要があります。 DB のテーブルを更新しています。

基本的にINTしか持てません。テキストボックスには他に何もありません。テキストの末尾にある「mi」を削除するにはどうすればよいですか?

ありがとうC#EB

4

3 に答える 3

1

ポストバックでは、保存する前に次のことができます。

var saveValue = Int32.Parse(tbTarget.Text.Replace("mi", string.Empty).Trim());
于 2012-06-23T23:35:08.913 に答える
0

シンプルなString.Substring作品も:

String leftPart = TxtMileAge.Text.Substring(0, txt.IndexOf(' '));
int mileAge = int.Parse(leftPart);

これは、の0 から indexOfWhiteSpaceStringの範囲の部分を取得し、それをint

編集:値には(コメントしたように)小数点以下の桁数がある可能性があるため、 に解析しdouble、丸めてからにキャストする必要がありますint

var txtEstDistance = new TextBox() { Text = "40.2 mi" };
String leftPart = txtEstDistance.Text.Substring(0, txtEstDistance.Text.IndexOf(' '));
double distanceMiles = double.Parse(leftPart, System.Globalization.CultureInfo.InvariantCulture);
int oDdstanceMiles = (int)Math.Round(distanceMiles, MidpointRounding.AwayFromZero);
于 2012-06-23T23:36:47.763 に答える
0

可変長の文字を使用する場合 (誰かが代わりにマイルを入力するとします)、文字列 (文字の配列) に対して foreach を実行し、各文字で isnumeric をチェックする必要があります。

于 2012-06-23T23:39:09.777 に答える