小编msk*_*her的帖子

十进制数和精确表示

在c ++中,如何知道使用IEEE 754-1985标准何时可以准确表示十进制数.例如0.2无法准确表示.

有一个简单的规则吗?

c++ floating-point double

1
推荐指数
2
解决办法
1312
查看次数

如何显示浮点数的附加数字?

我有一个我这样创建的Double:

Double d = Double.parseDouble( "27.86753" ); // All the digits of this double value are 27.867530822753906
Run Code Online (Sandbox Code Playgroud)

这个特殊的double也可以用float表示,所以Java会删除其余的数字.我如何强制Java给我这个值的真正双重表示(所有数字)?

java floating-point double

1
推荐指数
1
解决办法
3610
查看次数

存储在MySQL中的浮点值不断变得混乱

我正在尝试在MySQL中存储浮点值,我的值似乎一直在搞乱.:(
我将我的字段定义为,float(10,7)并在插入之前在PHP中正确地舍入我的值:

$rndval = round($val,7)
INSERT INTO mytable (float) VALUES ($rndval)
Run Code Online (Sandbox Code Playgroud)

但是当我插入一个47.5206797之类的值时,它在我的表中显示为47.520679 5.这是为什么?

mysql floating-point rounding

1
推荐指数
1
解决办法
6372
查看次数

从vba中的float中提取位

如何从Singlevba中的变量中提取位?

例如,我想提取位23到30并将它们放入整数的最低8位.

floating-point vba bit-manipulation

1
推荐指数
1
解决办法
1415
查看次数

Python小数

我希望0.5能够圆满结束1.任何人都可以解释为什么它会向下0舍入?

>>> from decimal import *
>>> getcontext().prec = 0
>>> +Decimal(0.5)
Decimal('0')
Run Code Online (Sandbox Code Playgroud)

python floating-point rounding-error decimal

1
推荐指数
1
解决办法
339
查看次数

在python中浮动字符串时遇到问题

我的目标是创建一个将度数转换为弧度的程序.公式是(度*3.14)/ 180.但是python不断给我这个错误:

Traceback (most recent call last):
  File "2.py", line 6, in <module>
    main()
  File "2.py", line 4, in main
    degrees = (degrees * 3.14) / 180
TypeError: can't multiply sequence by non-int of type 'float'
Run Code Online (Sandbox Code Playgroud)

从这段代码:

def main():
    degrees = raw_input("Enter your degrees: ")
    float(degrees)
    degrees = (degrees * 3.14) / 180

main()
Run Code Online (Sandbox Code Playgroud)

编辑:谢谢大家的帮助!

python string floating-point error-handling

1
推荐指数
1
解决办法
432
查看次数

使用与XNA和C#的摩擦

我不是问如何实现这个,这个概念很简单.我遇到的问题是花车.这是我的代码:

Position += mVelocity;

        if (!Keyboard.GetState().IsKeyDown(Keys.Left) && !Keyboard.GetState().IsKeyDown(Keys.Right) && !Keyboard.GetState().IsKeyDown(Keys.Down) && !Keyboard.GetState().IsKeyDown(Keys.Up))
        {
            if (mVelocity.X != 0.0F)
            {
                if (mVelocity.X > 0.0F)
                    mVelocity.X -= mFriction;
                if (mVelocity.X < 0.0F)
                    mVelocity.X += mFriction;
            }
            if (mVelocity.Y != 0.0F)
            {
                if (mVelocity.Y > 0.0F)
                    mVelocity.Y -= mFriction;
                if (mVelocity.Y < 0.0F)
                    mVelocity.Y += mFriction;
            }
        }


        Console.WriteLine(mVelocity.X + ", " + mVelocity.Y);
Run Code Online (Sandbox Code Playgroud)

mFriction是0.2F.

问题是,如果我以正速度(X或Y)移动玩家,摩擦力就会发挥作用,他的速度降低到0.0.但是,如果我以负速度移动他,摩擦会增加,并且出于某种原因,不会停在0.0,而是在停止之前上升到0.2.因此,我有一个移动的玩家,然后当我松开钥匙时,他开始在相反的方向缓慢滑动.为什么是这样?我该如何解决?

另外,我试过这段代码进行测试:

            if (mVelocity.X == 0.2F)
                mVelocity.X = 0.0F;
            if (mVelocity.Y == 0.2F)
                mVelocity.Y = 0.0F;
Run Code Online (Sandbox Code Playgroud)

但它给了我完全相同的结果,好像我没有添加代码.显然,0.2F不等于0.2F.这可能是什么?

最后,在调试输出中,当玩家处于静止状态时,他可以正向移动(假设停止)他的x和y的速度(取决于我如何移动他)是2.980232E-08.我不明白这一点.如果我将速度设置为1,并且每帧减去0.2,那为什么它会以1.0,0.8,0.6,0.4,0.2,0.0之外的其他方式去除?接下来,如果他因为负面移动而处于休息状态,他对x和y的速度(再次,取决于我如何移动他)是0.2.为什么它不会变为-1,-0.8,-0.6,-0.4,-0.2,0.0?而不是从0.0到0.2超过.

这一切对我来说毫无意义,如果有人能为我清楚这一点,我将不胜感激.任何替代解决方案也被接受.如果需要更多代码或澄清,我很乐意提供.

c# floating-point xna velocity

1
推荐指数
1
解决办法
927
查看次数

Java检测Float是正还是负

我正在使用Android手势和onFling方法.有两个浮点变量通过velocityX和velocityY.这些论文可以是0.0,正面或负面.显然0.0很容易检测,但我如何检测它是正还是负浮点数.

我找到了一些int和double的代码,但没有任何与float特别相关的代码.

java floating-point android numbers

1
推荐指数
1
解决办法
4285
查看次数

double或float数据类型在循环中没有正确加载?

在循环中,我添加0.10,直到达到所需的#,并获得索引.这是我的代码:

    private static int getIndexOfUnits(float units) {
    int index = -1;
    float addup = 0.10f;
    for(float i = 1.00f; i < units; i=(float)i+addup) {
        index++;
        System.out.println("I = " + i + " Index = " + index);
    }

    return index;
}
Run Code Online (Sandbox Code Playgroud)

如果通过的单位是5.7,我看到的输出是:

I = 1.0 Index = 0
I = 1.1 Index = 1
I = 1.2 Index = 2
I = 1.3000001 Index = 3
I = 1.4000001 Index = 4
I = 1.5000001 Index = 5
I = …
Run Code Online (Sandbox Code Playgroud)

java floating-point for-loop floating-accuracy

1
推荐指数
1
解决办法
1067
查看次数

与Javascript中的NaN比较

我遇到了这个奇怪的问题.

在此输入图像描述

为什么会这样?!应该这样吗?

javascript floating-point parsing

1
推荐指数
2
解决办法
1155
查看次数