Convert from String to Integer to Float and back again

As you read values off a site, there will come a time when you need to manipulate them, such as performing calculations or making comparisons. That doesn’t seem to be problem until you end up with Strings being compared to Integers.

For the most part, a value read off a page will be a string because you don’t always know what it contains. For example, “New Sales Company” is a string of characters. On the other side, 537273 is a number. However, $537,273, which you can identify as numbers is actually a  String value as far as the code is concerned.

Even after you remove the dollar sign and comma, the value type will still be treated as a string because that’s how it was initially read. Comparing a string to an integer will cause a mismatch, but there is a simple way to handle that.

The ValueOf() statement allows the comparison of values as a certain type. Taking the example above, it would be read from the site as a string. We would then remove the $ and , with the ReplaceAll statement – replaceAll(“[\$,]”, “”)

As noted, that would give 537273, but it is still a string. If we wanted to see if the value was greater than 500000 or add another number to it, we can use Integer.valueOf() as in – siteDailyGrossProfit=Integer.valueOf(tempText).

This would set the variable siteDailyGrossProfit to the Integer value of tempText, which would be the dollar figure we read from the site. Because the result will be an integer, this will set siteDailyGrossProfit as an Integer.

The same would be done within an IF statement to verify if the value read is less than or equal to 0. In my test case, if a value is $0, there is an issue and I want to do something about it. Once the value is read, an IF statement would be set up as:

if (Integer.valueOf(dailySalesFigure)<=0)

The same type of conversion holds true for String and Float values. As an example, calculatedMargin=(((Float.valueOf(GP) / Float.valueOf(sales)) * 100).round(1)) – calculates a percentage and rounds the result to 1 decimal place. The values were read as string, but can be multiplied and divided as Float values.

String works the same way, such as the random number example we used earlier:

WebUI.setText(findTestObject(‘Page_/Sales Plan Budget/New Prospect/Category Margin Column’, [(‘Variable’) : loop]), String.valueOf(randomNumber))

A variant is to use .toInteger, .toFloat() and .toString. In this case, the variable tempText reads the value 123456 off the site. Converting to the different types would look like:

intValue = tempText.toInteger() – Would return 123456 as an Integer

stringValue = tempText.toString() – Would return 123456 as a String

floatValue = tempText.toFloat() – Would return 123456.0 as a Float

As a final example, using a command similar to the Selenium IDE, the following will convert a value to a Integer:

intValue = Integer.parseInt(strnumber)

Other articles of interest:

Leave a Reply

Your email address will not be published. Required fields are marked *

Recent Comments
  • Parsing Strings in Katalon – Split, Substring and Readlines (4)
    • Anjana: Hey thanks for the response It is quite strange but initializing variable for delimiter and it worked String splitFormat = ‘-‘ WebUI.println(var_CampaignDura tion.toString().split(splitFor mat)[0])...
    • Don Pedro: I’m not really sure what the difference is, but I don’t think the “-“ in the split is the same as the one in the date. String var_CampaignDuration = “05/13/2019-06/07/2019&# 8221; String[] parsedDateRange =...
    • Anjana: Hi, I tried the same thing to split the string, but does not work for me, Could you plz point out whats wrong Variable var_CampaignDuration has value “05/13/2019-06/07/2019&# 8221; String[] parsedDateRange =...
    • Ellen: Thanks for sharing!! I like your contributions to Katalon topics.
  • How to Block games by Title and Tag on Steam (2)
    • Marcus861: I made an acc just to say: Same bro
    • JACK: Thanks, same just wanted to block anime games in my discover
  • Create a new and random UUID for an API call (1)
    • Anonymous: Hi ! I found this blog few weeks ago and it’s really helping me out with my tests! Thanks a lot for the Katalon tips and tricks ! Keep up the good work 🙂
  • How To Disable the Quicken Registration Prompt (25)
    • Greg: For me, holding the *LEFT* CTL + Shift then clicking Online, One Step Update worked. I originally tried holding the right CTL + Shift, and it didn’t work. I’m using Quicken 2006, so I don’t know if it will work...
    • Joe SR>: My monthly income is deposited into my Credit Union account. I use debit whenever possible. I write checks manually and mail them. I use Quicken 2012 off-line only. I have entered all my money and investment accounts. I...
    • Prtet: Never say never….every time I swear I will never use Quicken again, I discover that there are still no viable alternatives. Amazing that there is no decent personal finance software.
    • Joe D.: Holding CTRL + Shift keys and selecting On Line | One Step Update from the main menu worked for my Quicken 2004. I’m grateful that you wrote a synopsis (“Simply put, …”) just beneath the link to the blog...
    • Susan Long: I bought my quicken disc in the beginning and it came with a registration number. I rang the helpline and they gave me the code to put in and talked me through it. It you downloaded your version then you don’t own it...
    • Peter: You might consider running your old version of Quicken on an ancient computer. This is what I have done for years. The newer versions are fraught with problems- criminal, in my opinion. One version made mathmatical errors when...
  • Working with Dates and Date Formatting in Katalon Studio (6)
    • Ajoo: Thank you for the details. How do i remove leading “0” from dates. i.e. while formatting i receive 04/21/2019, but i need 4/21/2019. (same applies for date)
  • What is Katalon Studio? A Distro of Selenium, Groovy and Eclipse (1)
    • Mahesh: Looking for more posts on katalon studio.your katalon stuffs are always exiting