Scala FAQ: I need to compare two floating-point numbers in Scala, but as in some other programming languages, two floating-point numbers that should be equivalent may not be; how do I comparison floating-point numbers?
As in Java and many other languages, you solve this problem by creating a method that lets you specify the precision for your comparison. The following Scala “approximately equals” method demonstrates the approach:
Scala FAQ: How do I override the default numeric type that Scala assigns when I declare an
Double val or var field?
If you assign
1 to a variable, Scala assigns it the type
Scala FAQ: How do I convert between numeric types in Scala, such as from Int to Long, Int to Double, etc.?
Instead of using the “cast” approach in Java, use the
to* methods that are available on all of Scala’s numeric types. These methods can be demonstrated in the REPL (note that you need to hit the [Tab] key at the end of the first example):
Scala FAQ: How do I parse a number (
Float, etc.) from a
String in Scala?
to* methods that are available on a
String (courtesy of the Scala
As I get back into working with a MySQL database in a Java (Scala, actually) development project and also in adding functionality to Cato, I found these MySQL to Java data type mappings, via this link:
Scala FAQ: What are the Scala numeric data types? How many bits do they use to store their data, and what is the range of those data types?
Courtesy of the excellent book, Programming in Scala, here is a list and description of the Scala data types, including bit sizes and data ranges:
Data Type Definition Boolean true or false Byte 8-bit signed two's complement integer (-2^7 to 2^7-1, inclusive) -128 to 127 Short 16-bit signed two's complement integer (-2^15 to 2^15-1, inclusive) 32,768 to 32,767 Int 32-bit two's complement integer (-2^31 to 2^31-1, inclusive) 2,147,483,648 to 2,147,483,647 Long 64-bit two's complement integer (-2^63 to 2^63-1, inclusive) -9,223,372,036,854,775,808 to +9,223,372,036,854,775,807 Float 32-bit IEEE 754 single-precision float 1.40129846432481707e-45 to 3.40282346638528860e+38 (positive or negative) Double 64-bit IEEE 754 double-precision float 4.94065645841246544e-324d to 1.79769313486231570e+308d (positive or negative) Char 16-bit unsigned Unicode character (0 to 2^16-1, inclusive) 0 to 65,535 String a sequence of Chars
Question: How do I convert a
String to an
int or a
Short answer: You want to use the
Here's an example Java program that shows how to convert a String to either an
int or a
Question: How do I convert a String to a double with Java?
Answer: Converting a String to a
double requires that you first convert the
String to a
Double object, then convert the
Double object to a
double data type (
Double is an object, while
double is a primitive data type).
Here's the source code for an example Java program that performs this conversion:
Java String to number FAQ: How do I convert a String to a number in Java?
You convert a Java String to a number using the methods of the class whose type you want to convert to. For instance, if you want to try to convert a String to an int, you use the parseInt() method of the Java Integer class, like this: