Questions tagged «floating-point»

浮点数是实数的近似值,可以表示比整数大的范围,但使用相同的内存量,但代价是精度较低。如果您的问题是关于较小的算术错误(例如,为什么0.2 + 0.1等于0.300000001?)或十进制转换错误,请在发布前阅读下面链接的“信息”页面。

30
进行浮动和双重比较的最有效方法是什么?
比较两个double或两个float值的最有效方法是什么? 简单地这样做是不正确的: bool CompareDoubles1 (double A, double B) { return A == B; } 但是类似: bool CompareDoubles2 (double A, double B) { diff = A - B; return (diff < EPSILON) && (-diff < EPSILON); } 似乎是废物处理。 有人知道更聪明的浮点比较器吗?

26
如何将浮点数很好地格式化为String而没有不必要的十进制0?
64位双精度数可以精确表示整数+/- 2 53 鉴于这一事实,我选择对所有类型都使用双精度类型作为单个类型,因为我最大的整数是无符号的32位。 但是现在我必须打印这些伪整数,但是问题是它们也与实际的双精度数混合在一起。 那么,如何在Java中很好地打印这些双打呢? 我已经尝试过了String.format("%f", value),这很接近,除了小数值时会出现很多尾随零。 这是的示例输出 %f 232.00000000 0.18000000000 1237875192.0 4.5800000000 0.00000000 1.23450000 我想要的是: 232 0.18 1237875192 4.58 0 1.2345 当然,我可以编写一个函数来修剪这些零,但是由于String操作,这会导致很多性能损失。我可以使用其他格式代码做得更好吗? 编辑 Tom E.和Jeremy S.的答案都是不可接受的,因为它们都任意舍入到小数点后两位。请在回答之前了解问题。 编辑2 请注意,String.format(format, args...)是区域设置相关的(见下面的答案)。

24
如何在Python中四舍五入一个数字?
这个问题使我丧命。如何在Python中向上舍入一个数字? 我尝试了舍入(数字),但它四舍五入数字。例: round(2.3) = 2.0 and not 3, what I would like 我尝试了int(number + .5),但是它再次将数字取整!例: int(2.3 + .5) = 2 然后我尝试了round(number + .5),但在边缘情况下不起作用。例: WAIT! THIS WORKED! 请指教。



12
float和double有什么区别?
我已经读过双精度和单精度之间的区别。但是,在大多数情况下,float并且double似乎是可以互换的,即,使用其中一种似乎并不影响结果。真的是这样吗?花车和双打何时可以互换?它们之间有什么区别?



11
比较浮点值有多危险?
我知道UIKit使用CGFloat是因为分辨率独立的坐标系。 但每次我要检查是否例如frame.origin.x被0这让我感到恶心: if (theView.frame.origin.x == 0) { // do important operation } 是不是CGFloat容易误报比较时==,<=,>=,<,>?这是一个浮点,它们存在不精确的问题:0.0000000000041例如。 Objective-C比较时是否在内部处理此问题,还是会发生origin.x读为零的a与未读0为true的情况?

6
如何使用Java将float转换为int
我使用以下行将float转换为int,但是它不如我所希望的那么准确: float a=8.61f; int b; b=(int)a; 结果是:(8应该是9) 当时a = -7.65f,结果为:(-7应该为-8) 最好的方法是什么?
342 java  floating-point  int 



10
JavaScript显示浮点数到小数点后两位
我想显示一个数字到小数点后两位。 我以为可以toPrecision(2)在JavaScript中使用。 但是,如果数字是0.05,我得到0.0500。我希望它保持不变。 在JSbin上看到它。 做这个的最好方式是什么? 我可以考虑编写一些解决方案,但是我想(我希望)内置类似的东西吗?

2
常数0.0039215689代表什么?
我不断在各种图形头文件中看到此常数 0.0039215689 似乎与颜色有关? 这是Google的首个热门产品: void RDP_G_SETFOGCOLOR(void) { Gfx.FogColor.R = _SHIFTR(w1, 24, 8) * 0.0039215689f; Gfx.FogColor.G = _SHIFTR(w1, 16, 8) * 0.0039215689f; Gfx.FogColor.B = _SHIFTR(w1, 8, 8) * 0.0039215689f; Gfx.FogColor.A = _SHIFTR(w1, 0, 8) * 0.0039215689f; } void RDP_G_SETBLENDCOLOR(void) { Gfx.BlendColor.R = _SHIFTR(w1, 24, 8) * 0.0039215689f; Gfx.BlendColor.G = _SHIFTR(w1, 16, …


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.