Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/219.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 尝试将存储在字符串中的时间(当它包含冒号时)转换为int值。_Android_Type Conversion - Fatal编程技术网

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

Android 尝试将存储在字符串中的时间(当它包含冒号时)转换为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

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

 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;
    }
}