在我更新xCode 6之前,我没有任何问题将一个双重stringbur现在它给了我错误 var a: Double = 1.5 var b: String = String(a) 它给了我错误消息“双不能转换为string”。 有没有其他办法可以做到这一点?
在C ++ 11中,当给定一个float或doubletypes的input值时,std :: to_string默认为6个小数位。 推荐的或者最优雅的改变这种精度的方法是什么?
我有一个像这样的variables: List<Double> frameList = new ArrayList<Double>(); /* Double elements has added to frameList */ 我怎样才能有一个新的variables有一个types的double[]从Javavariables高性能?
我正在阅读“加速C ++”。 我发现一句话说“有时候执行速度比在C ++中执行速度快double ”。 读完这句话后,我对float和double工作感到困惑。 请向我解释这一点。
我的问题是,是否所有的整数值保证有一个完美的双重表示。 考虑下面的代码示例打印“相同”: // Example program #include <iostream> #include <string> int main() { int a = 3; int b = 4; double d_a(a); double d_b(b); double int_sum = a + b; double d_sum = d_a + d_b; if (double(int_sum) == d_sum) { std::cout << "Same" << std::endl; } } 这是保证是正确的任何架构,任何编译器, a和b任何值? 将我的任何整数转换为double ,总是被表示为i.0000000000000而不是,例如, i.000000000001 ? 我试了一些其他的数字,它一直是真实的,但无法find这是巧合还是devise的任何事情。 […]
我需要把一个双精度到最接近的五个。 我找不到用Math.Round函数来做的方法。 我怎样才能做到这一点? 我想要的是: 70 = 70 73.5 = 75 72 = 70 75.9 = 75 69 = 70 等等.. 是否有捷径可寻?
它是金钱,浮动,真实,小数,_________?
为什么C ++不支持无符号双重语法?
这是我做了两倍到两位小数的位置: amount = roundTwoDecimals(amount); public double roundTwoDecimals(double d) { DecimalFormat twoDForm = new DecimalFormat("#.##"); return Double.valueOf(twoDForm.format(d)); } 如果金额= 25.3569或类似的东西,这个效果很好,但如果金额= 25.00或金额= 25.0,那么我得到25.0! 我想要的是舍入以及格式化到2位小数。
当我调用Math.ceil(5.2) ,返回值是double 6.0 。 我的自然倾向是认为Math.ceil(double a)会返回一个long 。 从文档: ceil(double a) 返回不小于参数的最小(最接近负无穷大) double值,它等于一个math整数。 但是当结果是一个整数时为什么返回一个double而不是long呢? 我认为了解它背后的原因可能会帮助我更好地理解Java。 这也可能帮助我弄清楚,如果我将自己陷入困境,铸造到一个long ,例如 long b = (long)Math.ceil(a); 总是我认为应该是什么? 我担心会出现一些有问题的边界案例。