Coverting from a string to an integer

Hi:
Is it possible to covert a string to an integer?
For example I want to convert the following string values to integers so that I can develop a method to use java.util.Date to test for overlapping appointments.
Ex:
markCalendar.addApp(new Appointment("June 1","3pm","4pm", "dentist"));
I want to convert the startTime and the endTime to integers. And compare the startTime and endTime to a vector of appointments.
Should this approch work?
Thanks.
Describes a calendar for a set of appointments.
@version 1.0
import java.util.Vector;
public class CalendarTest
{  public static void main(String[] args)
      Calendar markCalendar = new Calendar("Mark");
      markCalendar.addApp(new Appointment("June 1","3pm","4pm", "dentist"));
       markCalendar.addApp(new Appointment("June 2","3pm","4pm", "doctor"));
       markCalendar.print();
      Appointment toFind = new Appointment("June 2","3pm","4pm", "doctor");
      markCalendar.removeApp(toFind);   
      markCalendar.addApp(new Appointment("June 2","3pm","4pm", "dentist"));
      markCalendar.print();
      Appointment dups = (new Appointment("June 2","3pm","4pm", "dentist"));
      markCalendar.dupsTest(dups);
Describes a calendar for a set of appointments.
class Calendar
   Constructs a calendar for the person named.
   public Calendar(String aName)
   {  name = aName;
      appointments = new Vector();
   Adds an appointment to this Calendar.
   @param anApp The appointment to add.
   public void addApp(Appointment anApp)
      appointments.add(anApp);
   Removes an appointment from this Calendar.
   @param anApp The appointment to be removed.
   public void removeApp(Appointment toFind)
      for ( int i = 0; i < appointments.size(); i++)
         if (((Appointment)appointments.get(i)).equals(toFind))
             appointments.remove(i);
   Tests for duplicate appointment dates.
   public void dupsTest(Appointment app)
      for (int x = 0; x < appointments.size(); x++)
         //Appointment cmp = (Appointment)appointments.elementAt(x);
         //System.out.println("cmp  " + cmp);
         for (int y = appointments.size()-1; y > x; y --)
            Appointment nextApp =(Appointment) appointments.get(y);
            //if (app.equals((Appointment)appointments.elementAt(y)))
            if (app.equals (nextApp))
            {  System.out.println("duplicates  ");
               nextApp.print();
   Prints the Calendar.
   public void print()
   {  System.out.println(name + "               C A L E N D A R");
      System.out.println();
       System.out.println("Date   Starttime    EndTime   Appointment");
      for (int i = 0; i < appointments.size(); i++)
      {  Appointment nextApp =(Appointment) appointments.get(i);
         nextApp.print();
      //appointments.dupsTest(Appointments anApp);
   private Vector appointments;
   private String name;
   private Appointment theAppointment;
Describes an appointment.
class Appointment
   public Appointment(String aDate,String aStarttime,String aEndtime, String aApp)
   {  date = aDate;
      starttime = aStarttime;
       endtime = aEndtime;  
      app = aApp;
Method to test whether on object equals another.
@param otherObject  The other object.
@return true if equal, false if not
public boolean equals(Object otherObject)
      if (otherObject instanceof Appointment)
      {  Appointment other = (Appointment)otherObject;
         return (date.equals(other.date) && starttime.equals(other.starttime)
                 && endtime.equals(other.endtime) && app.equals(other.app));
       else return false;
   Prints the Date, Starttime, Endtime and a description of the
   appointment.
   public void print()  
   {  System.out.println();
      System.out.println(date + "   " + starttime + "          " + endtime
          + "       " + app );
      System.out.println();
   private String date;
   private String starttime;
   private String endtime;
   private String app;

Hello,
First I would like to suggest, DONT use the class names that have already being defined in JAVA, Here you have used, CALENDAR class, this approach should be avoided, If this class is in the same project where you also want to use the JAVA CALENDAR class, then you mite not be able to do so.
As for the conversion, A simple way is that:
You already know that the time cannot go more than 2 digits (Specifically not more than 24 hours in case of hours and 60 in case of minutes) and the (am) (pm) takes 2 more places, so what you can do is validate if the string size is 4 or 3, if 4 then take the first 2 substrings i.e. somestring.substring(0,2) and then use the Ineteger.parseInt(some string) method.
similarly if the String size is 3 then take the first substring
e.g. somestring.substring(0,1)
This is how you can convert the string to the Integer and compare it, You can store it as an Integer Object and store it in the Vector If you want to.
Hope this helps
Regards
Rohan

Similar Messages

  • How to extract an integer or a float value from a String of characters

    Hi i have a problem getting to a float value within a string of characters..
    for instance the string is
    "numberItem xxxxxxxxx 700.0" (each x is a space..the forum wouldnt let me put normal spaces for some reason)
    how do i store 700.0 in a float variable
    remember the string is obtained from an inputfile
    so far i got the program to store the inputfile data line by line in a String array..i tried tokenizing the string to get to the the float value but since i have mulitple spaces within my string, the token method only gets "numberItem" from the above String
    This is all i have so far:
    String c;
    String Array[] =new String[g]; (i used a while loop to obtain g(the nubmer of lines in the file))
    while((c=(cr.readLine()))!=null)
    Array[coun]=c;
    it would be reallllllllllllllllllllllllllllllllllllllly easy if there was a predefined method to extract numeric values from a string in java..
    Edited by: badmash on Feb 18, 2009 5:50 PM
    Edited by: badmash on Feb 18, 2009 5:50 PM
    Edited by: badmash on Feb 18, 2009 5:55 PM

    badmash wrote:
    Hi i have a problem getting to a float value within a string of characters..
    for instance the string is
    "numberItem xxxxxxxxx 700.0" (each x is a space..the forum wouldnt let me put normal spaces for some reason)
    with the space included
    how do i store 700.0 in a float variable
    remember the string is obtained from an inputfile
    so far i got the program to store the inputfile data line by line in a String array..i tried tokenizing the string to get to the the float value but since i have mulitple spaces within my string, the token method only gets "numberItem" from the above StringHuh?
    Not true.
    Anyway why not use string split, split on spaces and grab the last element (which by the format you posted would be your 700.0)
    Then there is the Float.parseFloat method.
    It is easy.
    And another thing why not use a List of Strings if you want to store each line? (And why did you post that code which doesn't really have anything to do with your problem?) Also in future please use the code formatting tags when posting code. Select the code you are posting in the message box and click the CODE button.

  • Trying to get a date value from a string

    Hi All,
    I'm not sure I am doing this right, so I figured I would ask the experts...
    I have built a file upload page that is working the way I need it, but I have found that I need to determine the date from the uploaded file name. I tried to create a PL/SQL computation and do some substr / instr to the filename, but I'm not getting it as I get "ORA-01843: not a valid month" error. Here is the code I'm trying:
    declare
      v_underscore  integer;
      v_date            varchar2(15);  --have also tried using date datatype...
    begin
      v_underscore := INSTR(:P20_EXPRESS,'_',1,1);
      v_date := to_date(substr(:P20_EXPRESS,v_underscore + 1,6),'YYMMDD');
      return v_date;
    end;And here is a sample filename:
    F15047/proc_10607161001.csv
    Is this the best way to achive what I'm trying to do?
    Thanks,
    Corey

    Hi,
    v_underscore := INSTR(:P20_EXPRESS,'_',1,1);
    v_date := to_date(substr(:P20_EXPRESS,v_underscore + 1,6),'YYMMDD');What this is saying is:
    Get the position of the "_" character
    Move to the next character to the right (which is a "1" in your case)
    Get 6 characters (106071) from the string value
    Convert them to a date using the format 'YYMMDD'
    This results in:
    Year: 10
    Month: 60
    Day: 71
    Which of course is not valid.
    For example:
    select
      substr('F15047/proc_10607161001.csv', instr('F15047/proc_10607161001.csv', '_', 1, 1) + 1, 6)
    from
      dual;
    SUBSTR
    106071It looks like you want to move two positions to the right rather than a single position:
    select
      substr('F15047/proc_10607161001.csv', instr('F15047/proc_10607161001.csv', '_', 1, 1) + 2, 6)
    from
      dual;
    SUBSTR
    060716Hope that helps a bit,
    Mark

  • How to convert string to an integer in SQL Server 2008

    Hi All,
    How to convert string to an integer in sql server,
    Input : string str="1,2,3,5"
    Output would be : 1,2,3,5
    Thanks in advance.
    Regards,
    Sunil

    No, you cannot convert to INT and get 1,2,3 BUT you can get
    1
    2
    3
    Is it ok?
    CREATE FUNCTION [dbo].[SplitString]
             @str VARCHAR(MAX)
        RETURNS @ret TABLE (token VARCHAR(MAX))
         AS
         BEGIN
        DECLARE @x XML 
        SET @x = '<t>' + REPLACE(@str, ',', '</t><t>') + '</t>'
        INSERT INTO @ret
            SELECT x.i.value('.', 'VARCHAR(MAX)') AS token
            FROM @x.nodes('//t') x(i)
        RETURN
       END
    ----Usage
    SELECT * FROM SplitString ('1,2,3')
    Best Regards,Uri Dimant SQL Server MVP,
    http://sqlblog.com/blogs/uri_dimant/
    MS SQL optimization: MS SQL Development and Optimization
    MS SQL Consulting:
    Large scale of database and data cleansing
    Remote DBA Services:
    Improves MS SQL Database Performance
    SQL Server Integration Services:
    Business Intelligence

  • Extract int from a string

    Hi,
    I am curious if there is an easy way to extract an int value from a String.
    For example, "Rb23" to get 23. The length of the part in front of the integer is variable.
    Thanks

    this seems to work:
    public int extract(String s) {
         String result = "";
         char c[] = s.toCharArray();
         int j = c.length-1;
         if (!Character.isDigit(c[j])) {
              return 0;
         do {
              result+=c[j--];
         } while (j > 0 && Character.isDigit(c[j]));
         return Integer.parseInt(new StringBuffer(result).reverse().toString());
    }it will return 0 if no numbers are found at the end of the string

  • String date to integer

    Need help.
    Does anybody know how to convert a string date to int..
    format of the date is like this(dd-mm-yyyy) example ->15-Aug-1993.
    I would like to convert the corresponding month to int...
    like for Jan=1, Feb=2,Mar=3...Aug=8...Dec=12...
    is there any method in java which supports this kind of conversion?
    sample codes would be of great help.
    Thanks in advance.

    If your intention is to convert "15-Aug-1993" into "15-8-1993", ie a string->string conversion, use a SimpleDateFormat to parse the first string into a Date. And then use another one to format the date into the appropriate format.
    If you want to obtain an integer value from the string according to the scheme you presented, you could parse it as above then use the getMonth() mehod of the Date class. Note: the returned value is zero based (January is zero, not one) and the method is deprecated.
    It's better to use the Calendar class:
    * Use SimpleDateFormat to obtain a Date (ie parse the string)
    * create a Calendar instance and set its time to the date
    * use the get() method of Calendar to obtain the month
    The Calendar class defines a number of int values: Calendar.JANUARY, Calendar.FEBUARY etc. Mostly you use these values without knowing or caring what int values they have.

  • Remove leading zeros from a string

    Hi,
    I have a string with some numeric value.
    e.g.
    String a = 54890001
    I want to make it 10 digits long by padding zeros at the begining
    Now a = 0054890001 ( this is for display purpose ) I know how to do it.
    Now How can strip these leading zeros from this number to get back the actual number. The user sees this 10 digit number and he can change it to something like 0067490001. Now I want to strip these leading zeros.
    and i shd get 67490001.
    In other words, how to strip leading zeros from a string ?
    Thanks for help
    Vinod

    I would try two things: First, just try a straightforward parsing of your String using the Integer.parseInt() method. This is only my first suggestion because the number could be interpreted as octals; only testing will really tell. Second, try a method like this:
    public static String removeLeadingZeros(String str) {
        if (str == null) {
            return null;
        char[] chars = str.toCharArray();
        int index = 0;
        for (; index < str.length; index++) {
            if (chars[index] != '0') {
                break;
        return (index == 0) ? str : str.substring(index);
    }Shaun

  • Generate sound(voice) from a String

    Hello everybody.
    I would like to generate sound from a String at Symbian devices automaticaly. I wil receive the value of this String remotely and then it will be generated to a sound.
    The String will not be very long (3 to 4 words).
    For example,
    String test="Hello everybody";Is it possible via J2ME API?
    Or do I need any external library?
    Regards,
    kalgik

    You can't easily do it... you can using reflection:
    MyStaticClass.class.getField().getXXX("MyVariable") //depending on what type the field is...But this seems like it may be a flawed design. Maybe you should try making a static HashMap in the class, use a Static init block and static get/set methods:
    public class StaticClass
        static Map properties;
        static
            properties = new HashMap();
            properties.put("MyVariable", "Some Value");
            properties.put("OtherVariable", new Integer(3));
        public static Object get(String property)
            return properties.get(property);
        public static void set(String property, Object value)
            //Maybe some code checking to make sure object is right type
            //or don't use a set method at all to make the properties immutable
            properties.put(property, value);
    }

  • Splitting a string when an integer is reached

    Hi,
    I'm trying to figure out how, if possible, to split a string when an integer comes in the strong. What I'm doing is reading from a web page and the output is "1930Stella" as an example. What I want to do is insert those into a table, so it's like this:
    String     |     Integer
    Stella           1930I'm not sure how I can go about doing this, please help!

    YoungWinston wrote:
    aeternaly wrote:
    I'm trying to figure out how, if possible, to split a string when an integer comes in the strong. What I'm doing is reading from a web page and the output is "1930Stella" as an example.Another wrinkle for you. Could it ever be "-1930Stella"?
    WinstonNo, it can't ever be anything other than "1930Stella" or "Stella1930", but it will always be integerString in the format that I'm reading from the site.
    almightywiz wrote:
    Just a thought...
    Why not make this function return something like this:
    >
    "1930Stella" -> parseString -> "1930|Stella"
    >
    You're obviously halfway there, but right now if you want to get both the number and the string out of the input, you have to loop over the input twice. Why not just loop over the input once, insert a delimiter between your 'fields', and call split on the resulting string later? Then again, you know the overall requirements for the issue at hand.
    Also, is the input string always a number followed by characters (i.e. 1930Stella), or can it be something ridiculous like "1234abc56d7e8"? I only ask because right now your method only handles the first case nicely, on the assumption that your result will always be "number followed by characters".As I said above, the method works for what I need (only integerString/stringInteger format). I was looking at the delimiter idea but couldn't quite fully understand it. I'll give it another go, though!

  • Strip the first character from a string

    i am trying to strip the leftmost character from a string
    using the following:
    <cfset Charges.DTL_CHG_AMT_EDIT =
    #Right(Charges.DTL_CHG_AMT_EDIT,Len(Charges.DTL_CHG_AMT_EDIT)-1)#>
    i keep getting the following error:
    Parameter 2 of function Right which is now -1 must be a
    positive integer

    > RemoveChars() much easier than Right()? How so?
    Semantically, if the object of the exercise is to *REMOVE
    CHARacters from a
    string* (which it is, in this case), it is simply better
    coding to use
    removeChars() rather than right(). That, and it's one less
    function call
    (the RIGHT() solution also requires a call to LEN() for it to
    work).
    So removeChars() is "easier" because it reflects the intent
    of the exercise
    directly, is simpler logic, is easier to read, and - I can't
    be arsed
    counting keystrokes - is probably less typing.
    That'd be how.
    Adam

  • Replacing a set of characters from a string in oracle sql query

    I want to replace a set of characters ( ~    !     @    #     $     %     ^     *     /     \     +    :    ;    |     <     >     ?    _  ,) from a STRING in sql
    select 'TESTING ! ABC 123 #'
    FROM DUAL;
    What is the best way to do it? Please provide examples also.

    What is your expected output... The query I posted just removes them, it never replaces them with spaces..your string already has space.. if you want to remove space as well .. try this...
    SELECT TRANSLATE ('TESTING ! ABC 123 #', '[email protected]#$%^*/\+:;|<>?_, ', ' ') FROM DUAL;
    Output:
    --TESTINGABC123
    Else post your expected output..
    Cheers,
    Manik.

  • Problems with Reflection API and intantiating an class from a string value

    I want to instantiate a class with the name from a String. I have used the reflection api so:
    static Object createObject(String className) {
    Object object = null;
    try {
    Class classDefinition = Class.forName(className);
    object = classDefinition.newInstance();
    } catch (InstantiationException e) {
    System.out.println(e);
    } catch (IllegalAccessException e) {
    System.out.println(e);
    } catch (ClassNotFoundException e) {
    System.out.println(e);
    return object;
    Let's say my class name is "Frame1".
    and then if i use:
    Frame1 frm = (Frame1) createObject("Frame1");
    everything is ok but i cannot do this because the name "Frame1" is a String variable called "name" and it doesn't work like:
    name frm = (name) createObject("Frame1");
    where i'm i mistaking?
    Thanks very much!

    i have understood what you have told me but here is a little problem
    here is how my test code looks like
    Class[] parameterTypes = new Class[] {String.class};
    Object frm = createObject("Frame1");
    Class cls = frm.getClass();
    cls.getMethod("pack",parameterTypes);
    cls.getMethod("validate",parameterTypes);
    everything works ok till now.
    usually if i would of had instantiated the "Frame1" class standardly the "cls" (or "frm" in the first question ) object would be an java.awt.Window object so now i can't use the function (proprietary):
    frame_pos_size.frame_pos_size(frm,true);
    this function requires as parameters: frame_pos_size(java.awt.Window, boolean)
    because my cls or frm objects are not java.awt.Window i really don't find any solution for my problem. I hope you have understood my problem. Please help. Thanks a lot in advance.

  • How can i store values from my String into Array

    Hi guys
    i wants to store all the values from my string into an array,,,, after converting them into intergers,,,, how i can do this becs i have a peice of code which just give me a value of a character at time,,,,charat(2)...BUT i want to the values from String to store in an Array
    here is my peice of code which i m using for 1 char at time
    int[] ExampleArray2 = new int[24];
    String tempci = "Battle of Midway";
    for(int i=0;i>=tempci.length();i++)
    int ascii = tempci.charAt(i); //Get ascii value for the first character.

    public class d1
         public static final void main( String args[] )
              int[] ExampleArray2 = new int[24];
              String tempci = "Battle of Midway";
              for(int i=0;i<tempci.length();i++)
                   int ascii = tempci.charAt(i);
                   ExampleArray2=ascii;
              for(int i=0;i<ExampleArray2.length;i++)
                   System.out.println(ExampleArray2[i]);

  • Getting char values from a string problem

    Hi,
    Here's an example of what I'm trying to do:
    boolean loopSwitch = true;
    while (loopSwitch)
         String orderDecider = JOptionPane.showInputDialog (null, "Would you like your numbers to be ordered in   ascending or descending order(A/D)",      "Order decision", JOptionPane.QUESTION_MESSAGE);
         if (orderDecider == A)
         loopSwitch = false;
         }I basically want the user to input either a/A/d/D and to get the char values from the string so I can use them in an if statement.
    Basically, I wanna parse the string into a char.
    Is this possible?
    Thanks.
    Edited by: xcd on Oct 16, 2009 8:38 AM

    Why not just use the String.equals() method to compare a String to a String?
    But if you must, you can use the String.charAt() method to return a char at a particular location in the String.
    Note: char literals need to be surrounded by single quotes ('A') and String literals need to be surrounded by double quotes ("A").

  • Removing Null values from character string

    Hi All,
    Can i remove NULL values (hexadecimal - 0000) from character string. I am uploading a file from presentation layer (shared server) and getting NULL values in many fields which i want to remove.
    please assist.
    Thanks for you help..
    Regards,
    Mohaiyuddin

    Hi,
    Most likely, nobody needed it, but if anybody in future will need the solution for related problem  - here's solution:
    data: lv_nullchar type xstring value '0'.
    shift lv_xstring right deleting trailing lv_nullchar in byte mode.
    shift lv_xstring left deleting leading lv_nullchar in byte mode.
    This hack deleting null chars in lv_xstring at end file and at begining of file. Works perfect for me, where i also worked with files.

Maybe you are looking for