2

Get an error when trying to use multiplication

var red1 : Float = ((random()%9)*30)/255;

Error says Int is not convertible to Float

I want to use this to make a float I can use to make a UIColor

Cœur
  • 37,241
  • 25
  • 195
  • 267
Steve
  • 1,121
  • 1
  • 12
  • 32
  • Using `%` is a bad practice for generating random numbers, as it is biased. Better use a recommended way of generating a Float between 0 and 1: https://stackoverflow.com/a/34765674/1033581 – Cœur Mar 08 '18 at 13:25
  • 1
    Possible duplicate of [Generate a random float between 0 and 1](https://stackoverflow.com/questions/5172421/generate-a-random-float-between-0-and-1) – Cœur Mar 21 '18 at 01:33

1 Answers1

2

var red1 = Float((random()%9)*30)/255

You don't need the semicolon and red1 will be type inferred to a Float.

In swift 4.2: var red1 = Float.random(in: startNumber...endNumber)

Schemetrical
  • 5,506
  • 2
  • 26
  • 43