标签: double

如何在Python中将double转换为字符串?

我需要将double存储为字符串.我知道我可以使用,printf如果我想显示它,但我只是想将它存储在一个字符串变量中,以便我以后可以将它存储在地图中(作为,而不是).

c++ string double

165
推荐指数
9
解决办法
38万
查看次数

为什么多次添加0.1会保持无损?

我知道0.1十进制数不能用有限的二进制数(解释)精确表示,所以double n = 0.1会失去一些精度而不会完全正确0.1.另一方面0.5可以完全表示,因为它是0.5 = 1/2 = 0.1b.

已经说过,添加0.1 三次不会完全给出0.3以下代码打印是可以理解的false:

double sum = 0, d = 0.1;
for (int i = 0; i < 3; i++)
    sum += d;
System.out.println(sum == 0.3); // Prints false, OK
Run Code Online (Sandbox Code Playgroud)

但是,如何增加0.1 五次才会给出确切的答案0.5呢?以下代码打印true:

double sum = 0, d = 0.1;
for (int i = 0; i < 5; i++)
    sum += …
Run Code Online (Sandbox Code Playgroud)

java floating-point precision double

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

如何在Double中将Double舍入到最近的Int?

我正在尝试制作一个增长率(Double)的计算器,它将结果四舍五入到最接近的整数并从那里重新计算,如下:

let firstUsers = 10.0
let growth = 0.1
var users = firstUsers
var week = 0


while users < 14 {
    println("week \(week) has \(users) users")
    users += users * growth
    week += 1
}
Run Code Online (Sandbox Code Playgroud)

但到目前为止我一直无法做到.

编辑 我有点喜欢这样:

var firstUsers = 10.0
let growth = 0.1
var users:Int = Int(firstUsers)
var week = 0


while users <= 14 {
    println("week \(week) has \(users) users")
    firstUsers += firstUsers * growth
    users = Int(firstUsers)
    week += 1
}
Run Code Online (Sandbox Code Playgroud)

虽然我不介意它总是四舍五入,但我不喜欢它,因为 …

double int rounding swift

148
推荐指数
6
解决办法
13万
查看次数

C#Double - ToString()格式,带有两个小数位但没有舍入

如何在C#中格式化Double为a String以便只有两个小数位?

如果我使用String.Format("{0:0.00}%", myDoubleValue)数字然后舍入,我想要一个没有任何舍入的简单截断.我也希望转换成String文化敏感.

c# string double

145
推荐指数
8
解决办法
37万
查看次数

为什么这个随机值有25/75分布而不是50/50?

编辑:所以基本上我要写的是1位哈希值double.

我想映射double到50/50 truefalse50/50的机会.为此,我编写了一些选择随机数的代码(仅作为一个例子,我希望在有规律的数据上使用它并仍然得到50/50的结果),检查它们的最后一位并y在它为1时递增,或者n如果它是0.

但是,此代码不断导致25%y和75%n.为什么不是50/50?为什么这么奇怪,但直截了当(1/3)分布?

public class DoubleToBoolean {
    @Test
    public void test() {

        int y = 0;
        int n = 0;
        Random r = new Random();
        for (int i = 0; i < 1000000; i++) {
            double randomValue = r.nextDouble();
            long lastBit = Double.doubleToLongBits(randomValue) & 1;
            if (lastBit == 1) {
                y++;
            } else {
                n++;
            }
        }
        System.out.println(y + " " …
Run Code Online (Sandbox Code Playgroud)

java random double bit-manipulation probability

139
推荐指数
3
解决办法
9092
查看次数

在Java中保留double的精度

public class doublePrecision {
    public static void main(String[] args) {

        double total = 0;
        total += 5.6;
        total += 5.8;
        System.out.println(total);
    }
}
Run Code Online (Sandbox Code Playgroud)

上面的代码打印:

11.399999999999
Run Code Online (Sandbox Code Playgroud)

我怎么才能打印(或能够用它)11.4?

java floating-point precision double

134
推荐指数
11
解决办法
19万
查看次数

Android - 小数点后2位

可能重复:
将小数点后的双精度数加到2位有效数字

我知道有很多关于如何围绕这种数字的例子.但有人可以告诉我如何圆双,获得我可以显示为字符串的值,并总是有2位小数?

double android decimal rounding

133
推荐指数
2
解决办法
18万
查看次数

是否可以通过减去两个不相等的浮点数得到0?

在以下示例中是否可以将除以0(或无穷大)?

public double calculation(double a, double b)
{
     if (a == b)
     {
         return 0;
     }
     else
     {
         return 2 / (a - b);
     }
}
Run Code Online (Sandbox Code Playgroud)

在正常情况下,它当然不会.但是,如果a并且b非常接近,可能会(a-b)导致0计算的精确性?

请注意,这个问题适用于Java,但我认为它适用于大多数编程语言.

floating-point double floating-accuracy ieee-754

130
推荐指数
7
解决办法
9872
查看次数

如何在Java中实现无穷大?

Java是否有能代表每种数值数据类型的无穷大?它是如何实现的,以便我可以用它进行数学运算?

例如

int myInf = infinity; //However it is done
myInf + 5; //returns infinity
myInf*(-1); //returns negative infinity
Run Code Online (Sandbox Code Playgroud)

我尝试使用非常大的数字,但我想要一个合适的,简单的解决方案.

java double infinity

127
推荐指数
5
解决办法
26万
查看次数

舍入一个double将其转换为int(java)

现在我正在尝试这个:

int a = round(n);
Run Code Online (Sandbox Code Playgroud)

这里n是一个double,但它不工作.我究竟做错了什么?

java double int rounding

110
推荐指数
4
解决办法
24万
查看次数