Questions tagged «double»

Double是一种原始数据类型,用于存储小数,该小数具有双精度浮点数(通常为64位)。


14
将十进制转换为双精度
我想使用Track-Bar来更改Form的不透明度。 这是我的代码: decimal trans = trackBar1.Value / 5000; this.Opacity = trans; 当我构建应用程序时,它给出以下错误: 无法将类型隐式转换decimal为double 我已经尝试过使用trans,double但随后Control却无法正常工作。该代码在过去的VB.NET项目中运行良好。

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); } 版画 10.5 rounded is 11 10.499999999999998 rounded is 10 9.5 rounded …

26
如何将浮点数很好地格式化为String而没有不必要的十进制0?
64位双精度数可以精确表示整数+/- 2 53 鉴于这一事实,我选择对所有类型都使用双精度类型作为单个类型,因为我最大的整数是无符号的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 当然,我可以编写一个函数来修剪这些零,但是由于String操作,这会导致很多性能损失。我可以使用其他格式代码做得更好吗? 编辑 Tom E.和Jeremy S.的答案都是不可接受的,因为它们都任意舍入到小数点后两位。请在回答之前了解问题。 编辑2 请注意,String.format(format, args...)是区域设置相关的(见下面的答案)。


27
快速将双精度值四舍五入到x小数位数
谁能告诉我在Swift中如何将双精度值四舍五入到小数点后位数x? 我有: var totalWorkTimeInHours = (totalWorkTime/60/60) 以totalWorkTime秒为单位的NSTimeInterval(double)。 totalWorkTimeInHours 会给我时间,但是会给我这么长的时间,例如1.543240952039 ... 打印时如何将其四舍五入为1.543 totalWorkTimeInHours?





12
什么时候应该使用双精度代替十进制?
我可以列举使用double(或float)代替的三个优点decimal: 使用更少的内存。 更快,因为处理器原生支持浮点数学运算。 可以代表更大范围的数字。 但是这些优点似乎仅适用于计算密集型操作,例如建模软件中的操作。当然,当需要精确度(例如财务计算)时,不应使用双精度。那么,有没有任何实际的理由选择double(或float)而不是decimal“常规”应用程序? 编辑添加:感谢所有出色的答复,我从中了解到。 还有一个问题:少数人指出,加倍数可以更精确地表示实数。当声明时,我认为它们通常也可以更准确地表示它们。但是,在执行浮点运算时精度是否会降低(有时会显着降低),这是不正确的说法?

7
在C#中将小数点后两位加倍?
我想在C#中将小数值四舍五入到两位小数,该怎么办? double inputValue = 48.485; 四舍五入后 inputValue = 48.49; 相关:c#-如何将十进制值四舍五入到小数点后两位(用于在页面上输出)
258 c#  double  rounding 

18
如何将带小数点的字符串解析为双精度?
我想将字符串解析"3.5"为双精度型。然而, double.Parse("3.5") 产生35和 double.Parse("3.5", System.Globalization.NumberStyles.AllowDecimalPoint) 抛出一个FormatException。 现在,我的计算机的语言环境设置为德语,其中逗号用作小数点分隔符。它可能需要对此做些事并double.Parse()期望"3,5"作为输入,但是我不确定。 如何解析包含十进制数字的字符串,该字符串可能会或可能不会按照我当前的语言环境指定的格式进行格式化?
230 c#  string  parsing  double 



By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.