草庐IT

valid_float

全部标签

swift - 在 Swift 中获取 float 的原始字节

如何在Swift中读取Float或Double的原始字节?例子:letx=Float(1.5)letbytes1:UInt32=getRawBytes(x)letbytes2:UInt32=0b00111111110000000000000000000000我希望bytes1和bytes2包含相同的值,因为这个二进制数是1.5的Float表示。我需要它来执行按位操作,例如&和>>>(这些不是在float上定义的)。 最佳答案 Swift3更新:从Swift3开始,所有浮点类型具有bitPattern属性,该属性返回一个无符号整数相同

将JSON字符串转换为float

我从网站链接中获得以下JSON。我需要获取密钥“market_cap_usd”并将其转换为float。当我按照以下代码中提到的那样尝试它时,它的数字无法正确出现。请建议。{"id":"bitcoin","name":"Bitcoin","symbol":"BTC","rank":"1","price_usd":"2687.17","price_btc":"1.0","24h_volume_usd":"1588210000.0","market_cap_usd":"44081040719.0""available_supply":"16404262.0","total_supply":"1640

c - swift (Linux) : Extract CMS/PKCS#7 Certs and Validate Container Signature?

我正在用Swift4编写一组将在Linux上运行的服务。我需要做的一件事是接收使用加密消息语法(CMS)格式进行数字签名的有效负载,提取用于对其进行签名的证书,然后验证签名。我知道Linux上的Swift不包含用于此类事情的Security或CommonCrypto框架,因此我已经链接到OpenSSL以尝试帮助解决这个问题。我已经离开我的C/C++编程时代大约2年了,所以我欣然承认我在这部分代码上不知所措。我有2个简单的类作为OpenSSL的包装器BIO和PKCS7数据结构。它们看起来像这样:importFoundationimportOpenSSLpublicfinalclassBI

swift - 将 float 截断到小数点后两位的最简单方法?

在Swift中,有没有办法将float截断为2位小数,以便您可以用它执行进一步的计算?我见过的所有线程都处理转换为字符串,我无法弄清楚如何在数学上使用它。我尝试使用一个扩展(在这个论坛上找到),我想我可以在截断后转换回float,但我最终回到了我开始的地方,使用另一个未截断的float。我需要我的返回值以四分之一为单位(即6.50、6.75、5.25等),而我最终得到的结果是6.990022....必须有一个简单的方法来做到这一点,但我碰壁了。提前致谢...问题是:funcroundToNearestQuarter(#power:Float)->String{varerrorToLow

ios - 如何从 Swift 中的音频文件生成一个 float 数组

我想将mp3和wav音频文件加载为float或double组,类似于scipy中的io.wavfile.read函数。我可以通过将音频流写入缓冲区来处理麦克风数据或播放音频。但是,我不确定如何一次加载所有音频文件的数据。--更新对于将来处理音频信号数据的任何人来说,这里有一个函数可以解决问题。它基于RhythmicFistman的回答。funcloadAudioSignal(audioURL:NSURL)->(signal:[Float],rate:Double,frameCount:Int){letfile=try!AVAudioFile(forReading:audioURL)le

ios - UITextField 数字小键盘 : dot instead of comma for float values

我正在使用由数字键盘填充的文本字段。问题是,有很多本地区域格式(例如所有欧洲格式),UITextField的数字键盘用逗号代替点,所以每次我写十进制数时,UITextField无法识别小数点逗号和它的整数;例如23,07变成23。我该如何解决这个问题?我想将textField设置为固定在美国;可能吗?怎么办?我使用这个读取值:varimporto=(importoPrevistoTF.textasNSString).floatValue 最佳答案 swift4extensionString{staticletnumberFormat

java - float 舍入到2位小数java

我正在尝试将float舍入到2位小数。我有2个浮点值:1.98529.294998它们都需要四舍五入,所以我最终得到以下内容:1.9929.30当我使用下面的方法时:publicstaticFloatprecision(intdecimalPlace,Floatd){BigDecimalbd=newBigDecimal(Float.toString(d));bd=bd.setScale(decimalPlace,BigDecimal.ROUND_HALF_UP);returnbd.floatValue();}结果是:1.9929.29 最佳答案

Java 类型转换 - float(和 long)到 int

我想了解Java中的类型转换。我读过long通过使用int范围内的缩减模数转换为int并且float被转换为int通过删除小数部分。我尝试了以下代码。classtest{publicstaticvoidmain(Stringarf[]){System.out.println((int)2147483648.0);System.out.println((int)2147483648L);}}...其中2147483647是int的最大值。输出是:2147483647-2147483648当float被转换为int时,它的小数部分被移除。所以,(int)2147483648.0也应该等于-

java - 如何在 Java 中处理 float 的精度错误?

我想知道在Java中修复精度错误的最佳方法是什么。正如您在以下示例中看到的,存在精度错误:classFloatTest{publicstaticvoidmain(String[]args){Floatnumber1=1.89f;for(inti=11;i显示的结果是:loopvalue:1120.789999loopvalue:2241.579998loopvalue:4483.159996loopvalue:88166.31999loopvalue:176332.63998loopvalue:352665.27997loopvalue:7041330.5599此外,如果有人可以解释为

java - 在 Java 中操作和比较 float

在Java中,浮点运算没有精确表示。例如这个java代码:floata=1.2;floatb=3.0;floatc=a*b;if(c==3.6){System.out.println("cis3.6");}else{System.out.println("cisnot3.6");}打印“c不是3.6”。我对超过3位小数(#.###)的精度不感兴趣。我该如何处理这个问题以乘以float并可靠地比较它们? 最佳答案 一般规则是float不应该像(a==b)那样进行比较,而应该像(Math.abs(a-b)那样进行比较。其中delta是一