1

ガイダンスを探しているのですが、誰か助けてもらえますか?

期間の値を整数と小数に分ける必要があります。

編集: 1 つのページにテキスト ボックスがあります。誰かが 1.5 を入力して期間に保存された場合、別のページでそれを取得したいと思います。テキスト ボックスに整数を保存すると、10 進数が応答に基づいてドロップダウン リストから値を選択します。

申し訳ありませんが、誤って期間を 2 回追加しました。

context.Response.Write(dr["Title"].ToString()
    + '|' + dr["CourseId"].ToString() + '|' + dr["duration"].ToString()
 + '|' + dr["Code"].ToString() + '|'
    + dr["Category"].ToString() + School.NewLine);
4

4 に答える 4

8

分割しようとしている値が数値の場合は、これを試してください。

decimal number = 12.34;
int wholePart = decimal.Truncate(number);
decimal fractionPart = number - wholePart;

is が文字列の場合、CLandry の回答が機能するはずです。duration[0] は全体の部分になり、duration[1] は小数部分になります。

于 2013-04-19T19:55:58.850 に答える
3
var duration = dr["duration"].ToString().Split(CultureInfo.InvariantCulture.NumberFormat.NumberDecimalSeparator);
int durationWhole = Int32.Parse(duration[0]);
int durationDecimal = Int32.Parse(duration[1]);

期間は文字列配列になります。duration[0] は数値の小数点の前の部分で、duration[1] は小数点以下の部分です。

分割は、それを使用するカルチャの小数点記号で行われているため、グローバルにも機能するはずです。

質問の編集に基づいて、回答を更新して数値結果も提供しました。これで、必要に応じて数字または文字列を使用できます。

于 2013-04-19T19:52:54.730 に答える
0
context.Response.Write(dr["Title"].ToString()
    + '|' + dr["CourseId"].ToString() + '|' + dr["duration"].ToString().Split('.')[0]
    + '|' + dr["duration"].ToString().Split('.')[1] + '|' + dr["Code"].ToString() + '|'
    + dr["Category"].ToString() + School.NewLine);
于 2013-04-19T19:55:17.300 に答える
0

Substrings と IndexOf を使用できます。

{ context.Response.Write(
    dr["Title"].ToString() + '|' + 
    dr["CourseId"].ToString() + '|' + 
    dr["duration"].ToString().Substring(0, dr["duration"].ToString().IndexOf(".")) + '|' + 
    dr["duration"].ToString().Substring(dr["duration"].ToString().IndexOf("."), dr["duration"].ToString().Length()) + '|' + 
    dr["Code"].ToString() + '|' + 
    dr["Category"].ToString() + 
    School.NewLine);
}
于 2013-04-19T19:55:46.897 に答える