相关疑难解决方法(0)

在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万
查看次数

强制点(".")作为java中的小数分隔符

我目前使用以下代码打印双:

return String.format("%.2f", someDouble);
Run Code Online (Sandbox Code Playgroud)

这很有效,除了Java使用我的Locale的小数分隔符(逗号),而我想使用一个点.是否有捷径可寻?

java double formatting

96
推荐指数
4
解决办法
8万
查看次数

Dart - 减去一些双精度值会给出错误的结果

我随机选择了两个double数字:

double a = 7918.52;
double b = 5000.00;
Run Code Online (Sandbox Code Playgroud)

我希望2918.52a - b.
嗯,它给了我一个结果2918.5200000000004,这看起来很奇怪。

print(a - b); // -> 2918.5200000000004
Run Code Online (Sandbox Code Playgroud)

但如果我改为double a7918.54我将得到预期的结果2918.54

有人可以向我解释为什么某些double值会导致意外的舍入问题而其他值则不会?

floating-point double floating-accuracy dart

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