Swift 在 0 和 1 之间随机浮动

2023-12-10

在 Swift 中,我试图获得 0 和 1 之间的随机浮点数,但我似乎无法让类型转换起作用。

func randomCGFloat() -> CGFloat {
    return CGFloat(arc4random()) / UINT32_MAX
}

我收到“CGFloat”无法转换为“UInt8”错误

运行 Xcode 6。


这是扩展随机数 of 整型、双精度型、浮点型、CGFloat

Swift 3 & 4 & 5 语法

import Foundation
import CoreGraphics

// MARK: Int Extension

public extension Int {

    /// Returns a random Int point number between 0 and Int.max.
    static var random: Int {
        return Int.random(n: Int.max)
    }

    /// Random integer between 0 and n-1.
    ///
    /// - Parameter n:  Interval max
    /// - Returns:      Returns a random Int point number between 0 and n max
    static func random(n: Int) -> Int {
        return Int(arc4random_uniform(UInt32(n)))
    }

    ///  Random integer between min and max
    ///
    /// - Parameters:
    ///   - min:    Interval minimun
    ///   - max:    Interval max
    /// - Returns:  Returns a random Int point number between 0 and n max
    static func random(min: Int, max: Int) -> Int {
        return Int.random(n: max - min + 1) + min

    }
}

// MARK: Double Extension

public extension Double {

    /// Returns a random floating point number between 0.0 and 1.0, inclusive.
    static var random: Double {
        return Double(arc4random()) / 0xFFFFFFFF
    }

    /// Random double between 0 and n-1.
    ///
    /// - Parameter n:  Interval max
    /// - Returns:      Returns a random double point number between 0 and n max
    static func random(min: Double, max: Double) -> Double {
        return Double.random * (max - min) + min
    }
}

// MARK: Float Extension

public extension Float {

    /// Returns a random floating point number between 0.0 and 1.0, inclusive.
    static var random: Float {
        return Float(arc4random()) / 0xFFFFFFFF
    }

    /// Random float between 0 and n-1.
    ///
    /// - Parameter n:  Interval max
    /// - Returns:      Returns a random float point number between 0 and n max
    static func random(min: Float, max: Float) -> Float {
        return Float.random * (max - min) + min
    }
}

// MARK: CGFloat Extension

public extension CGFloat {

    /// Randomly returns either 1.0 or -1.0.
    static var randomSign: CGFloat {
        return (arc4random_uniform(2) == 0) ? 1.0 : -1.0
    }

    /// Returns a random floating point number between 0.0 and 1.0, inclusive.
    static var random: CGFloat {
        return CGFloat(Float.random)
    }

    /// Random CGFloat between 0 and n-1.
    ///
    /// - Parameter n:  Interval max
    /// - Returns:      Returns a random CGFloat point number between 0 and n max
    static func random(min: CGFloat, max: CGFloat) -> CGFloat {
        return CGFloat.random * (max - min) + min
    }
}

Use :

let randomNumDouble  = Double.random(min: 0.00, max: 23.50)
let randomNumInt     = Int.random(min: 56, max: 992)
let randomNumFloat   = Float.random(min: 6.98, max: 923.09)
let randomNumCGFloat = CGFloat.random(min: 6.98, max: 923.09)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Swift 在 0 和 1 之间随机浮动 的相关文章

  • SwiftUI:为表单中的单元格添加动画

    我正在尝试动画化我的Form或者更确切地说是其中的细胞 我的问题是 下面的代码给了我一个很好的插入动画 但是对于删除 单元格在看起来很丑陋的延迟后突然被删除 import SwiftUI struct ContentView View St
  • 访问 UserDefault 数组 URL 以填充 CollectionView

    这是上一篇文章的后续内容here https stackoverflow com questions 48142238 save and append an array in userdefaults from imagepickercon
  • 如何在 Python 中使这个随机文本生成器更加高效?

    我正在研究一个随机文本生成器 不使用马尔可夫链 目前它的工作没有太多问题 首先 这是我的代码流程 输入一个句子作为输入 这称为触发字符串 被分配给一个变量 获取触发字符串中最长的单词 在所有古腾堡计划数据库中搜索包含该单词的句子 无论大写还
  • 在 Android 的 Recycler View 中的文本视图背景上生成并设置随机颜色

    I am Trying to Generate Random Colors and set the Random color as background of Text View Just Like in GMail app The Tex
  • 当前图像选择模式会擦除 UI

    我下面有一个非常简单的视图控制器 UI 实际上只是一个带有底部标签栏的按钮 import UIKit class ImageAdderViewController UIViewController override func viewDid
  • 使用 Swift 在 Sprite Kit 中构建棋盘游戏? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 在使用 Swift 的 Sprite Kit 中 我试图构建一个国际象棋棋盘 实际上是一个类似国际象棋的棋盘 平铺网格 那么一般来说
  • Swift UI 导出画布内容

    我有一个画布 用户可以在上面画东西 我想导出用户在画布上绘制的任何内容 并且我正在使用以下扩展从视图中获取图像 extension View func snapshot gt UIImage let controller UIHosting
  • SwiftUI 检测用户何时截取屏幕截图或屏幕录制

    On UIViewController我们可以轻松地将观察者添加到控制器 喜欢 class ViewController UIViewController override func viewDidLoad super viewDidLoa
  • Swift 结构类型集

    说我有一个struct 可以是任何东西 struct Cube var x Int var y Int var z Int var width Int 然后我该如何创建一个Set这些点中 是否存在两个具有相同属性的对象 let points
  • 带有自定义 init 的 SwiftUI 视图

    假设我正在制作一个如下所示的自定义输入元素 struct CustomInput View Binding var text String var name String var body some View TextField name
  • Xcode 11 - 在 Catalyst Swift 中禁用调整大小模式

    We are 将我们基于 Swift 的 iOS 应用程序转换为 Mac兼容使用Catalyst在 Xcode 11 中 当用户使用时 我们在 UI 中面临一个问题resize应用程序窗口 那么我们可以禁用调整大小模式并为应用程序窗口提供修
  • 基于 2 个输入的伪随机数生成器 [关闭]

    Closed 这个问题需要细节或清晰度 help closed questions 目前不接受答案 我需要根据 2 个输入值 X 和 Y 生成一个伪随机数 给定相同的 X 和 Y 值 我需要得到相同的结果 结果应介于 0 和 1 之间 含
  • 如何将 SCNPlane 颜色更改为透明颜色

    我正在开发一个 ARKit 项目 在水平面上点击时需要波纹动画效果 为此 我采用了 UIView 对象并将其作为 SCNPlane 对象材料的内容传递 我已将波纹动画添加到 UIView 对象 一切正常 但我无法将 SCNPlane 颜色更
  • 在 Swift 中,如何为具有自动布局的 UIView 制作动画,就像页面滑入一样?

    我尝试创建一个 UIView 来表示一个大小与设备屏幕相同的页面 由于该应用程序支持方向 因此我使用 AutoLayout 来构建它 它工作正常 直到我尝试将页面动画化以从右侧滑入 经过一番研究后 我能想到的最好的办法是 myView UI
  • 如何删除以前的 ViewController

    我是一名学生 对编程还很陌生 我正在尝试在业余时间学习 Objective C Swift 我使用 spriteKit 和 swift 制作了一个游戏 有多个菜单 场景 我正在尝试从一个视图控制器转换到另一个视图控制器 为此 我使用了以下代
  • 在 MLMediaLibrary 中加载媒体源时出错

    我在加载时遇到错误mediaSourcesMac OS X 中的属性 我正在尝试使用以下方法获取 Apple Photos 源MLMediaLibrary class 我的应用程序是沙盒的 并且具有图片文件夹的只读权限 我收到错误 MLMe
  • 在 Swift 中使用 CIColorMatrix 过滤器

    以下 Swift 函数应该使用指定的 tintColor 对灰度图像 greyImage 进行着色 import UIKit func colorizeImage greyImage UIImage tintColor UIColor gt
  • 如何找到安全区域的高度和宽度?

    我正在尝试以编程方式为某些标签 按钮和文本字段设置相对于安全区域的高度和宽度的约束 例如 我希望将标签到安全区域顶部的距离设置为安全区域高度的 10 如何检索安全区域的高度和宽度 这是一个合理的方法吗 我的想法是 无论 iOS 设备如何 我
  • 如何实现pickerView类的didSelectRow方法?

    我以前从未使用过选择器视图 我认为它类似于表视图类的 func tableView tableView UITableView didDeselectRowAtIndexPath indexPath NSIndexPath 方法 但是我无法
  • 如何比双击更快地识别单击?

    我有一个UITableView与我添加单击的行and双击手势 let doubleTap UITapGestureRecognizer target self action doubleTap doubleTap numberOfTapsR

随机推荐

  • WebKit“拒绝设置不安全标头‘内容长度’”

    我正在尝试实现简单的 xhr 抽象 并且在尝试设置 POST 标头时收到此警告 我认为这可能与在单独的 js 文件中设置标头有关 因为当我将它们设置在
  • 设置 BigDecimal 的特定精度

    我有一个XSD这要求我使用 BigDecimal 来表示纬度 经度 我目前将纬度 经度作为双精度数 并将它们转换为 BigDecimal 但我只需要使用大约 12 位精度 我一直不知道如何设置 谁能帮我这个 您可以使用设置比例 e g do
  • 在 Python 中解析用户提供的数学公式的安全方法

    Python 有数学表达式解析器 求值器吗 我不是第一个问这个问题的人 但答案通常指向eval 例如 可以这样做 gt gt gt safe list math acos asin atan atan2 ceil cos cosh degr
  • 让内部指令在外部指令之前运行

    我有以下 html div ul class tabs li tab li ul div class tab content div tabContent div div div 我遇到的问题是 tabs 指令在 ng repeat 指令之
  • 非自相交多边形创建算法的有效性

    作为扩展和部分答案我的话题我写了一个简单的算法 给定一组点 具有 xy 坐标 可以形成一个非自相交的多边形 主张 给定具有不同坐标的任意点集 始终可以构造规则或不规则 非自相交的多边形 算法 假设有一个包含所有顶点的集合V 1 按x坐标对V
  • 如何实现Delphi的ToolsAPI的IOTAProjectCompileNotifier?

    我正在使用 Delphi XE IDE 我创建了一个通知程序来实现 IOTACompileNotifier 在IDE中安装专家后 当我编译我的项目时 代码运行良好 通知程序正在为 ProjectCompileStarted 工作 第二次编译
  • Angularjs 动态指令

    注意 我对 angularjs 很陌生 问题的最佳解决方案 实践是什么 我有一个数组或键入的值 对于每种类型应该有不同的输入 模板和输入验证 例如 并简化 var vars type int value 42 min 0 max 42 ty
  • 使用 python API 进行的训练作为 java API 中 LabelImage 模块的输入?

    我在使用 java tensorflow API 时遇到问题 我使用 python tensorflow API 运行训练 生成文件 output graph pb 和 output labels txt 现在 出于某种原因 我想使用这些文
  • 在delphi中使用数据模块分离数据集实例

    我在用Delphi6并有一个数据模块ADO DataSet它由两种形式使用 formS 和 Form B 每种形式都有一个Dataset Open in OnCreate and Dataset Close in OnClose 如果两个表
  • 使用 Flot API 绘制多个条形图 [关闭]

    Closed 这个问题需要多问focused 目前不接受答案 您好 我正在使用 FLOT 图表 API 在我的应用程序中以条形图的形式显示数据 我需要在条形图中显示数据 并在包含前数据和后数据的类别中显示数据 如图所示 示例图 请告诉我如何
  • asp.net mvc 用多个枚举装饰 [Authorize()]

    我有一个控制器 我希望两个角色能够访问它 1 位管理员或 2 位主持人 我知道你可以做 Authorize Roles admin moderators 但我的角色在枚举中 使用枚举我只能授权一个角色 我不知道如何授权两个 我尝试过类似 A
  • 将数据帧转换为元组列表的字典

    我有一个如下所示的数据框 user item 0 b80344d063b5ccb3212f76538f3d9e43d87dca9e The Cove Jack Johnson 1 b80344d063b5ccb3212f76538f3d9e
  • JavaScript 新关键字和对象范围

    今天晚些时候 我滚动浏览 ejhon com 幻灯片 发现了以下内容 给这个代码 function katana this myvar true katana console info myvar 在我编译代码的那一刻 我认为 myvar
  • 将 `params` 和 `session` 以及 `env` 添加到对象

    在我正在写的宝石中 我正在尝试添加机架方法params session and env to Object以便gem的用户可以访问和修改它们 我尝试过使用Object instance variable set and Object ins
  • 获取iPhone照片曝光信息

    有没有办法获取 iPhone 拍摄的照片的曝光设置 光圈 快门速度 ISO 在 iPhone 上运行的应用程序可以使用 UIImagePickerController 接口来拍照 但这并不能提供有关图片的太多信息 iPhone 拍摄的照片的
  • Angular Material MatChipList - 如何在动态 FormArray 上使用它?

    堆栈闪电战 这是我的 FormArray 变体 this productGroup this fb group name variants this fb array this fb group type options 我在用着MatCh
  • 使用 LINQ 和 Lambda 加入/Where

    我在使用 LINQ 和 Lambda 编写的查询时遇到问题 到目前为止 我遇到了很多错误 这是我的代码 int id 1 var query database Posts Join database Post Metas post gt d
  • Twisted Python 失败 - Scrapy 问题

    我正在尝试使用 SCRAPY 来抓取该网站的任何搜索查询的搜索结果 http www bewakoof com 该网站使用AJAX 以XHR的形式 来显示搜索结果 我设法跟踪 XHR 您会在我的代码中注意到它 如下所示 在 for 循环内
  • 无法加载 CIFAR-10 数据集:加载键“\x1f”无效

    我目前正在 TensorFlow 中尝试一些神经网络 我决定尝试使用 CIFAR 10 数据集 我从网站下载了 CIFAR 10 python 数据集 https www cs toronto edu kriz cifar html 在Py
  • Swift 在 0 和 1 之间随机浮动

    在 Swift 中 我试图获得 0 和 1 之间的随机浮点数 但我似乎无法让类型转换起作用 func randomCGFloat gt CGFloat return CGFloat arc4random UINT32 MAX 我收到 CGF