草庐IT

浮点数

全部标签

c++ - 浮点比较的奇怪结果

我有这个简单的测试:doubleh;...//codethatassignshitsinitialvalue,usedbelow...if((h>0)&&(h我列出了我的值(value)观,因为我得到了一些非常奇怪的结果,例如:h=1然后到达第一个分支,我不明白为什么,因为如果h=1我想计算branch2。我会被如此明显的事情弄糊涂吗?编辑:这就是我计算然后使用h的方式:double*QSweep::findIntersection(edge_tedge1,edge_tedge2){point_tp1=myPoints_[edge1[0]];point_tp2=myPoints_[ed

c++ - 解析存储在 ASCII 中的大型浮点文件的最佳方法?

解析以ASCII格式存储的大型浮点文件的最佳方法是什么?最快的方法是什么?我记得有人告诉我使用ifstream不好,因为它只处理少量字节,最好先将文件读入内存。真的吗?编辑:我在Windows上运行,文件格式适用于存储在像xyzrgb这样的行中的点云。我正在尝试将它们读入数组。此外,每个文件大约20MB,但我有大约10GB的文件。第二次编辑:每次我想进行可视化时,我都必须加载要显示的文件,所以尽可能快地加载它会很好,但老实说,如果ifstream预制合理,我不介意坚持使用可读代码。它现在运行得很慢,但这可能更多的是硬件I/O限制,而不是我可以在软件中做的任何事情,我只是想确认一下。

c++ - 将整型转换为浮点类型时检测溢出

据我所知,C++也依赖C标准来处理这些问题,它包含以下部分:Whenavalueofintegertypeisconvertedtoarealfloatingtype,ifthevaluebeingconvertedcanberepresentedexactlyinthenewtype,itisunchanged.Ifthevaluebeingconvertedisintherangeofvaluesthatcanberepresentedbutcannotberepresentedexactly,theresultiseitherthenearesthigherornearestlo

c++ - 浮点运算中的整数转换

我目前面临以下困境:1.0f*INT32_MAX!=INT32_MAX正在评估1.0f*INT32_MAX实际上给了我INT32_MIN我对此并不完全感到惊讶,我知道float到整数的转换并不总是准确的。解决此问题的最佳方法是什么?我正在编写的代码正在缩放有理数数组:来自-1.0f至INT32_MIN代码如下:voidconvert(int32_t*dst,constfloat*src,size_tcount){size_ti=0;for(i=0;i这是我最终得到的结果:voidconvert(int32_t*dst,constfloat*src,size_tcount){size_t

iphone - JSONKit 在从 iPhone 中的 Web 服务解码 JSON 对象时更改浮点值

在使用JSONKit解析后,浮点值发生了变化。问题发生在调用objectFromJSONString或mutableObjectFromJSONString之后。在JSONKit.m中触发此方法之前,JSON响应正常:staticid_NSStringObjectFromJSONString(NSString*jsonString,JKParseOptionFlagsparseOptionFlags,NSError**error,BOOLmutableCollection)原始回复:"value":"1002.65"调用objectFromJSONString后的响应:"value":

iphone - 如何从点数组绘制填充形状并在该形状内获取水龙头?

在我的应用程序中,我有一个由用户添加的点数组,我希望能够从这些点创建一个填充形状。我还希望能够在形状内获得任何点击(不是形状的矩形框,而是实际形状本身)。此外,如果水龙头不在形状内(但可能仍在形状的框架内),我希望水龙头“向下传递”到下面的形状(如果有的话)。从某种意义上说,我正在尝试从一组点创建一个不规则形状的UIButton。 最佳答案 创建UIView的子类。在其中,从点数组(moveToPoint:和addLineToPoint:)创建一个UIBezierPath属性。在drawRect:中,使用贝塞尔路径绘制形状(调用fi

objective-c - 一种更简单的方法来显示或不显示浮点值变量的小数?

我有一个变量,有时是整数,有时是小数。当它是一个整数时,我想显示它而不带小数,如果不是,我想显示小数。示例:变量为16.00并显示为16%示例:变量为16.50并显示为16.50%这是我写的并且使用if/else可以工作...但它看起来很复杂,我想知道我是否缺少一种简单的方法。在此先感谢您提供的任何帮助。intintTotalLabelData=[totalLabelDatafloatValue];if([totalLabelDatafloatValue]==intTotalLabelData){totalLabel.text=[NSStringstringWithFormat:@"%

c# - 从 NSDictionary 中获取浮点值

我正在寻找C#的解决方案。我有一本像这样的字典NSDictionarymetrics=newNSDictionary("leftInset",22);现在我想获取float的数字。我试过了metrics.ValueForKey(newNSString("leftInset"))但是返回值的类型是NSObject。我怎样才能得到float? 最佳答案 floatf=(metrics["leftInset"]asNSNumber).FloatValue; 关于c#-从NSDictionary

iphone - nsmutablearray 浮点对象返回零

在我的根模型中:[self.rPricesreplaceObjectAtIndex:0withObject:[NSNumbernumberWithFloat:(float)nR4]];NSLog(@"%.2f",[self.rPricesobjectAtIndex:0]);其中rPrices是NSMutableArray。nR4不为零但上面的NSLog(...);显示为零。谢谢 最佳答案 试试这个NSLog(@"%.2f",[[self.rPricesobjectAtIndex:0]floatValue]);或者只是打印NSNumb

objective-c - 为 NSMutableArray 分配浮点值

我想在for循环中将float变量分配给nsmutable数组。我像下面那样做了。但是nsmutable数组似乎是空的。我该如何解决这个问题?(distance是float,enyakinarray是NSMutablearray。)for(inti=0;i 最佳答案 向数组添加一个数字NSArray(NSMutableArray)不允许您向其添加原始类型。这是因为NSArray只是一组指向您添加到其中的对象的指针。这意味着如果您想向数组中添加一个数字,您首先必须将其包装在NSNumber中。NSArray*numbers=[NSAr