Android 尝试将存储在字符串中的时间(当它包含冒号时)转换为int值。
当用户通过微调器输入时间且该时间为17:00时,我想返回一个错误Toast,现在,由于我已在微调器中将beginTime声明为字符串,我需要将其转换回Int,以检查该值是否等于17:00Android 尝试将存储在字符串中的时间(当它包含冒号时)转换为int值。,android,type-conversion,Android,Type Conversion,当用户通过微调器输入时间且该时间为17:00时,我想返回一个错误Toast,现在,由于我已在微调器中将beginTime声明为字符串,我需要将其转换回Int,以检查该值是否等于17:00 public void checkBeginTime() String begingTime = beginTimespinner.getText().toString(); if (beginTime == 17:00) { Toast.etc } else
public void checkBeginTime()
String begingTime = beginTimespinner.getText().toString();
if (beginTime == 17:00)
{
Toast.etc
}
else
{
add beginTime;
}
若我尝试这样做,那个么它就不会工作,因为:
,有什么想法吗
int MyInt=Integer.parseInt("17.00");
最后得到的是一个唯一的整数。很难理解您的要求。将来,在发帖前花些时间收集你的想法 不过我要试试看 “17:00” 是你说的一根弦。通常,在讨论字符串->整数转换时,最终目标是明确的,即很容易理解您想要什么 “15”->15;“-2”->-2//等 因为这个原因,冒号很复杂,你想要17还是1700?非常明显的不同。不过,您可以通过字符串操作来控制这一点。如果你想要1700,你可以:
String str = "17:00";
int StrAsInt = Integer.ParseInt(str.replace(":",""));
对于17,将索引0子串到冒号的索引。关键是,您需要自己做一些腿部工作,以将类似的内容转换为整数。首先假设beginTime是一个字符串,然后您将从不将字符串与==进行比较。 必须使用.equals()方法。(谷歌为什么不这样做) 在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);
假设您使用a来让用户输入时间,您是否考虑过使用或替代
以下代码位摘自时间选择器教程。我只粘贴了相关的方法来说明我的观点,但是可以找到完整的教程:
如您所见,回调
onTimeSet()
以int
值的形式传递小时和分钟,便于您检查。什么是“模块”?你想做什么?如果(s==17:00)不是有效的java/android代码,您希望“:”如何被解析为数字。。。?在发布此类问题之前,您应该认真学习编程技能。我已经发布了一个答案,但我倾向于同意这一点——即使在编辑之后,这也是措辞拙劣的。@goldilock,是的,对此表示抱歉:)
String beginTime = "17:00"; // or in your case beginTimespinner.getText().toString();
test.testVal(beginTime);
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;
}
}