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 之间随机浮动 的相关文章

  • 如何在 Objective C 中使用 swift 文件

    我想在 Objective C 代码中使用我的 Swift 文件 我找到了不同的链接 说明了如何操作 我的项目名称是 测试项目 我将 import Test Project Swift h 导入到我的 m 文件中 以在 Objective
  • 随机采样数组的唯一子集

    如果我有一个数组 a 1 2 3 如何随机选择数组的子集 以使每个子集的元素都是唯一的 也就是说 对于a可能的子集是 1 2 3 1 2 2 3 1 2 3 我无法生成所有可能的子集 因为 a 的实际大小非常大 因此有很多很多子集 目前 我
  • 如何在 RxSwift 中取消订阅 Observable?

    我想在 RxSwift 中取消订阅 Observable 为了做到这一点 我曾经将 Disposable 设置为 nil 但在我看来 更新到 RxSwift 3 0 0 beta 2 后 这个技巧不起作用 我无法取消订阅 Observabl
  • Swift 2.0:协议扩展:具有相同函数签名的两个协议编译错误

    鉴于这两个协议及其扩展 protocol FirstDelegate func someFunc protocol SecondDelegate func someFunc extension FirstDelegate func some
  • 更改iOS11中的UISearchBar背景图片

    我想更改我的 UISearchBar 背景图像 当将它添加为我的 UITableView 中的标题视图时 它工作得很好 但是 当我想更改它以将 SearchBar 设置为 navigationItem 的 searchController
  • 更改 macOS 应用程序中打开窗口中的文档

    我正在为 macOS 编写一个基于文档的应用程序 我正在尝试编写一项功能来更改当前窗口中的活动文档 以便能够循环浏览文件夹中的下一个 上一个文档 就像使用图像浏览器应用程序一样 我应该调用什么命令来在当前窗口中打开不同的文档 文档表明 op
  • 等高的 SwiftUI HStack

    我想要Text 111 具有相同的高度VStack包含 2222 和 333 struct Test7 View var body some View HStack alignment top Text 111 Shall have equ
  • Twitter api 文本字段值被截断

    为什么文本字段值被截断以及如何获得完整的值 截至目前 我正在尝试获取如下所示的文本字段值 do if let responseObject try NSJSONSerialization JSONObjectWithData respons
  • 将两个字符的字符串转换为布尔数组的快速方法是什么?

    我有一个很长的字符串 有时超过 1000 个字符 我想将其转换为布尔值数组 它需要非常快速地多次执行此操作 let input String 001 let output Bool false false true 我天真的尝试是这样的 i
  • 使用 Swift 将自定义字体添加到 macOS 应用程序

    我遵循了一堆教程 但它不起作用 我只是想向 macOS 应用程序添加自定义字体 我基本上尝试过 添加了 ttf字体文件到我的项目 目标会员资格已设置 我还确保使用复制文件Copy Files within Bundle Phases 编译后
  • 只有根级导航目的地对于具有同质路径的导航堆栈有效

    我正在尝试整合NavigationStack在我的 SwiftUI 应用程序中 我有四个看法 CealUIApp OnBoardingView UserTypeView and RegisterView 我想从OnBoardingView
  • Admob 广告无法快速显示

    您好 我正在尝试将 admob 广告添加到已使用 swift 上传到应用商店的应用程序中 我在 admob 中制作了一个应用程序并复制了 appid 和广告 id 并显示了各自的横幅广告和插页式广告 这里的问题是当我写这行时 request
  • 核心数据:重命名属性,而不会导致用户及其当前数据出现问题

    我只想为我的应用程序的新版本重命名并在表上添加属性 并且如果应用程序已安装 我想保留数据 首先我只是设置选项 let options NSMigratePersistentStoresAutomaticallyOption true NSI
  • 如何使用 Vapor 和 Leaf 将图像从浏览器上传到 Amazon S3?

    我已经设置了 AWS S3 存储桶 并且可以使用 Vapor 3 和 Postman 上传文件 PUT request 和标头 x amz acl public read 但我想从浏览器中执行此操作 我使用的是 leaf 那么如何从浏览器上
  • iOS、通用链接、Swift。 continueUserActivity 未调用

    我正在为我们的 iOS 应用程序实现通用链接 这是我的一小部分 AppDelegate private func application application UIApplication openURL url URL sourceApp
  • 无法在 Swift 中对闭包进行弱引用

    Update 我试着不弱化地写一下 好像也没有漏的情况 所以也许这个问题已经没有必要了 在 Objective C ARC 中 当你想让一个闭包能够在闭包内部使用它自己时 该块不能捕获对自身的强引用 否则它将是一个保留循环 因此您可以使闭包
  • 使用未解析的标识符“FlurryAdInterstitial”

    我正在尝试整合Flurry Interstitial Ads使用cocoapods in Swift and Xcode 7 1 1 我正在关注开发人员雅虎网站上的此文档 https developer yahoo com flurry d
  • UIViewControllerAnimatedTransitioning:旋转更改后黑屏片段

    我已经创建了一个视图控制器转换 只要我不更改设备方向 一切都正常 图 1 显示了应有的屏幕 然后我切换到下一个视图控制器 在其中更改方向 现在我回到第一个视图控制器并再次切换方向 然后我得到的结果如图 2 所示 出现黑色边框 请不要介意屏幕
  • UItextView 背景颜色 Linespacing 区域太

    我正在尝试在 UITextView 中复制文本突出显示 不是搜索文本突出显示 但我也被行间距的颜色所困扰 我该如何纠正这个问题 现在的情况 期望的结果 我已将以下属性添加到我的 UiTextview 的属性文本中 对于段落行间距 我使用了以
  • 根据一个数组对多个数组进行排序

    如何根据数组对一堆数组进行排序createdAt 例如 2015 11 02 19 19 35 0000 将它们组合成另一种类型 字典 以便在 tableView 中使用是否有益 如果有的话如何 var comment AnyObject

随机推荐

  • 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