标签: floating-point

我如何强制划分为浮点?分部继续向下舍入到0?

我有两个整数值ab,但我需要他们的浮点比例.我知道a < b并且我想要计算a / b,所以如果我使用整数除法,我将总是得到0,余数为a.

我如何c在Python中强制成为Python中的浮点数?

c = a / b
Run Code Online (Sandbox Code Playgroud)

python floating-point integer division python-2.x

703
推荐指数
9
解决办法
63万
查看次数

如何使用小数范围()步长值?

有没有办法介于0和1之间0.1?

我以为我可以像下面这样做,但它失败了:

for i in range(0, 1, 0.1):
    print i
Run Code Online (Sandbox Code Playgroud)

相反,它说步骤参数不能为零,这是我没想到的.

python floating-point range

679
推荐指数
17
解决办法
70万
查看次数

将十进制转换为双倍?

我想使用轨迹栏来改变窗体的不透明度.

这是我的代码:

decimal trans = trackBar1.Value / 5000;
this.Opacity = trans;
Run Code Online (Sandbox Code Playgroud)

当我构建应用程序时,它会出现以下错误:

无法隐式转换decimaldouble.

我尝试使用trans,double但然后控件不起作用.这段代码在过去的VB.NET项目中运行良好.

c# floating-point double decimal type-conversion

645
推荐指数
14
解决办法
5万
查看次数

为什么Math.round(0.49999999999999994)会返回1?

在以下程序中,您可以看到每个值略小于.5向下舍入,除了0.5.

for (int i = 10; i >= 0; i--) {
    long l = Double.doubleToLongBits(i + 0.5);
    double x;
    do {
        x = Double.longBitsToDouble(l);
        System.out.println(x + " rounded is " + Math.round(x));
        l--;
    } while (Math.round(x) > i);
}
Run Code Online (Sandbox Code Playgroud)

版画

10.5 rounded is 11
10.499999999999998 rounded is 10
9.5 rounded is 10
9.499999999999998 rounded is 9
8.5 rounded is 9
8.499999999999998 rounded is 8
7.5 rounded is 8
7.499999999999999 rounded is 7
6.5 rounded is 7 …
Run Code Online (Sandbox Code Playgroud)

java floating-point double rounding

561
推荐指数
5
解决办法
7万
查看次数

如何处理JavaScript中的浮点数精度?

我有以下虚拟测试脚本:

function test() {
  var x = 0.1 * 0.2;
  document.write(x);
}
test();
Run Code Online (Sandbox Code Playgroud)

这将打印结果0.020000000000000004,只应打印0.02(如果您使用计算器).据我所知,这是由于浮点乘法精度的误差.

有没有人有一个很好的解决方案,以便在这种情况下,我得到正确的结果0.02?我知道有类似的功能toFixed或舍入将是另一种可能性,但我想真正打印整个数字没有任何切割和舍入.只是想知道你们其中一个人是否有一些漂亮,优雅的解决方案.

当然,否则我会转到大约10位左右.

javascript floating-point

552
推荐指数
22
解决办法
34万
查看次数

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

比较两个double或两个float值的最有效方法是什么?

简单地这样做是不正确的:

bool CompareDoubles1 (double A, double B)
{
   return A == B;
}
Run Code Online (Sandbox Code Playgroud)

但是像这样:

bool CompareDoubles2 (double A, double B) 
{
   diff = A - B;
   return (diff < EPSILON) && (-diff < EPSILON);
}
Run Code Online (Sandbox Code Playgroud)

似乎浪费处理.

有谁知道更聪明的浮动比较器?

c++ algorithm floating-point optimization

495
推荐指数
13
解决办法
39万
查看次数

如何很好地将浮动数字格式化为字符串而不必要的小数0?

64位双精度可以精确地表示整数+/- 2 53

鉴于这一事实,我选择将double类型用作所有类型的单一类型,因为我的最大整数是无符号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

当然,我可以编写一个函数来修剪这些零,但由于字符串操作,这会导致很多性能损失.我可以用其他格式代码做得更好吗?

编辑

Tom E.和Jeremy S.的答案是不可接受的,因为它们都可以任意舍入到小数点后两位.请在回答之前先了解问题.

编辑2

请注意,String.format(format, args...)区域设置相关的(见下面的答案).

java string format floating-point double

472
推荐指数
15
解决办法
57万
查看次数

正确的printf格式说明符为double

doubleprintf中正确的格式说明符是什么?是它%f还是它%lf?我相信它%f,但我不确定.

代码示例

#include <stdio.h>

int main()
{
   double d = 1.4;
   printf("%lf", d); // Is this wrong?
}
Run Code Online (Sandbox Code Playgroud)

c floating-point double printf format-specifiers

451
推荐指数
5
解决办法
96万
查看次数

你如何在Python中舍入一个数字?

这个问题让我很难过.如何在Python中对数字进行综合?

我尝试了一些(数字),但它将数字向下舍入.例:

round(2.3) = 2.0 and not 3, what I would like
Run Code Online (Sandbox Code Playgroud)

我尝试了int(数字+ .5),但它再次将数字向下舍入!例:

int(2.3 + .5) = 2
Run Code Online (Sandbox Code Playgroud)

然后我尝试了一下(数字+ .5)但它在边缘情况下不起作用.例:

WAIT! THIS WORKED!
Run Code Online (Sandbox Code Playgroud)

请指教.

python floating-point integer rounding python-2.x

439
推荐指数
17
解决办法
70万
查看次数

如何在javascript中格式化浮点数?

在JavaScript中,当从float转换为字符串时,如何在小数点后只获得2位数?例如,0.34而不是0.3445434.

javascript floating-point

420
推荐指数
7
解决办法
42万
查看次数