尝试将存储在字符串中的时间(包含冒号)转换为int值。

时间:2012-04-24 13:48:49

标签: android type-conversion

当用户通过微调器输入时间并且时间是17:00然后我想返回错误Toast,现在我已经将我的beginTime声明为我的微调器中的String我需要将其转换回Int以检查该值是否等于17:00

 public void checkBeginTime()

 String begingTime = beginTimespinner.getText().toString();

   if (beginTime == 17:00)
   {
   Toast.etc
   }

   else 

   {
   add beginTime;
   }

如果我尝试这样做,那么它会因为:,任何想法而无法工作吗?

5 个答案:

答案 0 :(得分:1)

   your_str = your_str.replace(":", ""); 

   your_int = Intger.parseInt(your_str);

您最终得到一个唯一的整数。

答案 1 :(得分:1)

假设beginTime首先是一个字符串,那么永远不会将字符串与==进行比较。 您必须使用.equals()方法。 (Google为什么不这样做。)

在Java中你可以这样做:

private void testVal(String beginTime) {
        String testVal = "17:00";
        if (testVal.equals(beginTime)){
            System.out.println("Matched " + beginTime);
            // Or whatever you want in Android, such as Toast
        }
        else{
            System.out.println("No match with " + beginTime);
            // Or whatever you want in Android, such as Toast
        }

    }

您可以使用以下方法调用该方法:

String beginTime = "17:00"; // or in your case beginTimespinner.getText().toString();
test.testVal(beginTime);

答案 2 :(得分:0)

int MyInt=Integer.parseInt("17.00");

答案 3 :(得分:0)

很难理解你在问什么。将来,请在发布前花一些时间来收集您的想法。

我会捅一下。

  

“17:00”

是你说过的一个字符串。通常,在谈论字符串时 - > int转换,最终目标很明确,即很容易理解你想要的东西

  

“15” - > 15; “-2” - > -2 //等等

因为这个原因结肠很棘手,你想要17或1700吗?显然非常不同。您可以通过字符串操作来控制它。说你想要1700,你可以这样做:

String str = "17:00";
int StrAsInt = Integer.ParseInt(str.replace(":",""));

或者对于17,子串索引0到冒号的索引。关键是,你需要自己做一些腿部工作来将类似的东西转换为整数。

答案 4 :(得分:0)

假设您使用Spinner让用户输入时间,您是否考虑使用TimePickerTimePickerDialog

从Time Picker教程中获取了以下代码。我只是粘贴了相关的方法来说明我的观点,但可以找到完整的教程here

public class HelloTimePickerActivity extends Activity {
private TextView mTimeDisplay;
private Button mPickTime;

static final int TIME_DIALOG_ID = 0;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    // capture our View elements
    mTimeDisplay = (TextView) findViewById(R.id.timeDisplay);
    mPickTime = (Button) findViewById(R.id.pickTime);

    // add a click listener to the button
    mPickTime.setOnClickListener(new View.OnClickListener() {
        public void onClick(View v) {
            showDialog(TIME_DIALOG_ID);
        }
    });

  // snip...
}

// the callback received when the user "sets" the time in the dialog
private TimePickerDialog.OnTimeSetListener mTimeSetListener = new TimePickerDialog.OnTimeSetListener() {
    public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
        mHour = hourOfDay;
        mMinute = minute;
    }
};

@Override
protected Dialog onCreateDialog(int id) {
    switch (id) {
    case TIME_DIALOG_ID:
        return new TimePickerDialog(this, mTimeSetListener, mHour, mMinute, false);
    }
    return null;
    }
}

如您所见,回拨onTimeSet()会将小时和分钟作为int值传递,方便您查看。