Tag: 浮点

限制浮点数到两个小数点

我想要a四舍五入到13.95 。 >>> a 13.949999999999999 >>> round(a, 2) 13.949999999999999 round函数不能按照我的预期工作。

在Java中保持双精度

public class doublePrecision { public static void main(String[] args) { double total = 0; total += 5.6; total += 5.8; System.out.println(total); } } 上面的代码打印: 11.399999999999 我怎样才能打印(或能够使用它)11.4?

浮点数与浮点数相比,奇怪的输出

float f = 0.7; if( f == 0.7 ) printf("equal"); else printf("not equal"); 为什么输出not equal ? 为什么会发生?

如何检查一个string是否是一个数字(浮点数)?

什么是最好的方法来检查一个string是否可以在Python中表示为一个数字? 我现在有的function是: def is_number(s): try: float(s) return True except ValueError: return False 这不仅丑陋而且缓慢,看起来笨重。 但是我还没有find更好的方法,因为在主函数中调用float更糟糕。

浮点algorithm没有产生确切的结果

我需要在Java中执行一些浮点运算,如下面的代码所示: public class TestMain { private static Map<Integer, Double> ccc = new HashMap<Integer, Double>() { { put(1, 0.01); put(2, 0.02); put(3, 0.05); put(4, 0.1); put(6, 0.2); put(10, 0.5); put(20, 1.0); put(30, 2.0); put(50, 5.0); put(100, 10.0); } }; Double increment(Double i, boolean up) { Double inc = null; while (inc == null) { inc = […]

比较浮点值有多危险?

我知道UIKit使用CGFloat是因为独立于坐标系的分辨率。 但每次我想检查是否例如frame.origin.x是0它使我感到不舒服: if (theView.frame.origin.x == 0) { // do important operation } 与== , <= , >= , < , >比较, CGFloat是否容易受到误报? 这是一个浮点,他们有无法解决的问题:例如, 0.0000000000041 。 Objective-C是在比较内部还是在内部处理这个问题,或者可能会发生这样的情况: origin.x读取为零,而不是与0比较为真?

我怎样才能迫使部门浮动? 司保持四舍五入到零

我有两个整数值a和b ,但我需要他们的比例在浮点数。 我知道a<b和我想要计算a/b ,所以如果我使用整数除法,我将总是得到0剩下的a 。 我如何强制c在Python中成为浮点数字? c = a / b

什么是最有效的浮动和双重比较方式?

什么是最有效的方法来比较两个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); } 似乎浪费处理。 有谁知道更聪明的浮动比较器?

为什么在MATLAB中24.0000不等于24.0000?

我正在写一个程序,我需要删除存储在matrix中的重复点。 问题是,当检查这些点是否在matrix中时,MATLAB虽然存在,但在matrix中不能识别它们。 在下面的代码中, intersections函数获取交点: [points(:,1), points(:,2)] = intersections(… obj.modifiedVGVertices(1,:), obj.modifiedVGVertices(2,:), … [vertex1(1) vertex2(1)], [vertex1(2) vertex2(2)]); 结果: >> points points = 12.0000 15.0000 33.0000 24.0000 33.0000 24.0000 >> vertex1 vertex1 = 12 15 >> vertex2 vertex2 = 33 24 应该从结果中删除两个点( vertex1和vertex2 )。 它应该由以下命令完成: points = points((points(:,1) ~= vertex1(1)) | (points(:,2) ~= vertex1(2)), :); points = points((points(:,1) […]

浮点不准确的例子

你如何解释浮点不正确的新程序员和外行谁仍然认为电脑是无限的明智和准确? 你有没有一个最喜欢的例子或轶事,似乎是比精确,但干燥的解释更好的想法? 计算机科学课是如何教授的?