Numbers
Donna has Int and Float.
let count = 3
let ratio = 0.5
Use Int for whole numbers and Float for decimal values.
fn next(value: Int) -> Int:
value + 1
fn half(value: Float) -> Float:
value /. 2.0
Underscores can group digits.
import donna/float
import donna/io
import donna/string
pub fn main() -> Nil:
io.println(string.from_int(1_000_000))
io.println(float.to_string(10_000.01))
Integer literals can be binary, octal, or hex.
import donna/io
import donna/string
pub fn main() -> Nil:
io.println(string.from_int(0b00001111))
io.println(string.from_int(0o17))
io.println(string.from_int(0xF))
Those all print the same value: 15.
Floats support scientific notation.
import donna/float
import donna/io
import donna/string
pub fn main() -> Nil:
io.println(float.to_string(7.0e7))
io.println(float.to_string(3.0e-4))
Convert numbers to strings with the standard library when you need text output.
import donna/io
import donna/string
pub fn main() -> Nil:
let total = 1 + 2 + 3
io.println(string.from_int(total))