NSLog(@"original float value = %f", [anNSNumber floatValue]);
float newFloat = [anNSNumber floatValue] - 1.0f;
NSLog(@"newFloat = %f", newFloat);
给我
orginal float value = 215987480044765184.000000
newFloat = 215987480044765184.000000
如何从 float 中简单地减去 1?
最佳答案
不,你不能进一步简化它。 float 不同于整数。
另一件需要注意的事情是 float 类型最多只能包含 24 位精度(大约 6-7 位小数精度)。你那里的数字超过了float可用的精度,并且减法量太小而不会影响24位精度,所以操作只是不会对结果做任何改变.
即使在double中进行操作,问题也没有解决,因为数字甚至超过了double的53位精度。
根据您的要求,您可能需要 64 位整数类型(long long 类型,或更具体的 int64_t)。如果更大的数字需要这样的精度,则基本类型是不够的。如果您需要非常高的精度,则可能需要外部库。
关于iphone - 从 CGFloat 中减去,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11149560/
我希望能够在Ruby中减去两个哈希值并得到第三个哈希值。两个哈希看起来像这样:h1={"Cat"=>100,"Dog"=>5,"Bird"=>2,"Snake"=>10}h1.default=0h2={"cat"=>50,"dog"=>3,"BIRD"=>4,"Mouse"=>75,"Snake"=>10}h2.default=0我希望能够像这样在h1上调用一个方法:h1.difference(h2)并得到这个散列作为结果:{"Cat"=>50,"Dog"=>2,"BIRD"=>-2,"Mouse"=>-75}我想创建一个新的散列,其中包含两个散列中的键,新散列的值是第一个散列中键的值
我这样做:a=[1,2,3,4]b=[2,3,4,5]c=b-aputc我明白了答案->[1]我想要这个答案->[1,1,1,1](比如矩阵加法/减法)我试过这个:c.each{|e|c[e]=b[e]-a[e]}但我得到了这个答案:[1,0,0,0]谁能给我一个正确的方法来做到这一点?非常感谢! 最佳答案 你可以使用zip:a.zip(b).map{|x,y|y-x}#=>[1,1,1,1]还有一个Matrix类:require"matrix"a=Matrix[[1,2,3,4]]b=Matrix[[2,3,4,5]]c=b-a#
是否可以修改hash类,以便在给定两个散列的情况下,可以创建一个仅包含存在于一个散列中但不存在于另一个散列中的键的新散列?例如:h1={"Cat"=>100,"Dog"=>5,"Bird"=>2,"Snake"=>10}h2={"Cat"=>100,"Dog"=>5,"Bison"=>30}h1.difference(h2)={"Bird"=>2,"Snake"=>10}可选地,difference方法可以包含任何键/值对,这样键出现在两个哈希值中但它们之间的值不同。 最佳答案 h1={"Cat"=>100,"Dog"=>5,"Bi
我正在构建一个与RubyonRails后端对话的iPhone应用程序。RubyonRails应用程序还将为Web用户提供服务。restful_authentication插件是提供快速和可定制的用户身份验证的绝佳方式。但是,我希望iPhone应用程序的用户在新列中存储一个由手机的唯一标识符([[UIDevicedevice]uniqueIdentifier])自动创建的帐户。稍后,当用户准备好创建用户名/密码时,帐户将更新为包含用户名和密码,iPhone唯一标识符保持不变。用户在设置用户名/密码之前不能访问该网站。然而,他们可以使用iPhone应用程序,因为该应用程序可以使用它的标识符
我有一个使用deviseonrails3的应用程序。我想启用http身份验证,以便我可以从iPhone应用程序向我的网络应用程序进行身份验证。如何从我的iPhone应用程序进行身份验证以进行设计?这安全吗?还是我应该进行不同的身份验证? 最佳答案 从设计的角度来看,您有3个选择:1)使用基本的http身份验证:您的iPhone应用程序有一个secretkey-这是在您的iPhone应用程序代码中烘焙的-用于对网络应用程序的每个请求进行身份验证。Google搜索:“设计基本的http身份验证”2)您可以通过在您的iPhone应用程序中
这个问题在这里已经有了答案:关闭13年前。PossibleDuplicates:HowcanIdevelopforiPhoneusingaWindowsdevelopmentmachine?我想为我妻子的手机构建一个iPhone应用程序,但我对购买Mac作为一次性工作的开发平台不感兴趣。应用程序:应该在iPhone上独立运行(即没有网络连接)完全可以接受使用iPhoneJavascript库之一创建的GUI会做一些数据库IO来读取和更新数据没有商业值(value),永远不会被任何人使用这是我的想法:越狱iPhone在iPhone上安装Ruby+Sinatra使用Sinatra编写应用程
我正在试验iPhoneSDK并在Nic博士的rbiPhoneTest项目中做一些TDD。我想知道有多少人(如果有的话)成功地使用了这个或任何其他iPhone/Cocoa测试框架?更重要的是,我想知道如何最好地断言专有的二进制请求/响应协议(protocol)。这个想法是通过网络发送二进制请求并接收二进制响应。请求和响应是使用byteand'ing和or'ing创建的。我正在使用黄金副本模式来测试我的请求。这是我到目前为止所拥有的。不要笑,因为我是ObjectiveC和Ruby的新手:requireFile.dirname(__FILE__)+'/test_helper'require'
我只是看看ruby,正在玩弄日期/时间。irb(main):001:0>jamis_DOB=Time.mktime(2003,10,22,06,59)=>WedOct2206:59:00+03002003irb(main):002:0>age=Time.now-jamis_DOB=>222934108.172989irb(main):005:0>age_in_years=(((age/3600)/24)/365).to_i=>7所以我的例子不太好,因为age_in_years不知道这些年加起来是否有闰年。我已经浏览了一些用谷歌搜索的时间/日期教程,但还没有找到一种简单的方法来减去两
我想写一个简单的函数来表示几个小时:创建后经过了多长时间?我的尝试:-time=DateTime.now.hour-(self.created_at.hour)有人知道如何在RubyonRails中执行此操作吗? 最佳答案 Rails通常使用Time,而不是DateTime。你为什么不做Time.now-self.created_at?然后您可以通过除以3600从秒转换为小时。 关于ruby-on-rails-你如何从日期时间中减去?,我们在StackOverflow上找到一个类似的问题
在网络上浏览了大量文档后,iPhone似乎总是以480x360的纵横比拍摄视频,并在视频rails上应用变换矩阵。(480x360可能会改变,但对于给定设备而言始终相同)这是一种在iOS项目中修改ffmpeg源代码并访问矩阵http://www.seqoy.com/correct-orientation-for-iphone-recorded-movies-with-ffmpeg/的方法这是在iOS-4中查找转换矩阵的更清晰的方法Howtodetect(iPhoneSDK)ifavideofilewasrecordedinportraitorientation,orlandscape.