如何将两个整数相除以获得双精度数?
如何将两个整数相除以获得双精度数?
How do I divide two integers to get a double?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
如何将两个整数相除以获得双精度数?
How do I divide two integers to get a double?
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(9)
您想要转换数字:
注意:如果 C# 中的任何参数是
double
,则使用double
除法,结果是double
>。 因此,以下内容也可以:有关详细信息,请参阅:
Dot Net Perls
You want to cast the numbers:
Note: If any of the arguments in C# is a
double
, adouble
divide is used which results in adouble
. So, the following would work too:For more information see:
Dot Net Perls
补充@NoahD的答案
要获得更高的精度,您可以转换为十进制:
或者:
Double 表示分配 64 位,而十进制使用 128
深入解释“精度”
有关二进制中的浮点表示及其精度的更多详细信息,请参阅请参阅 Jon Skeet 的这篇文章,他在其中讨论了
浮动
和双打
和这个,他在其中谈论了小数点
。Complementing the @NoahD's answer
To have a greater precision you can cast to decimal:
Or:
Double are represented allocating 64 bits while decimal uses 128
In depth explanation of "precision"
For more details about the floating point representation in binary and its precision take a look at this article from Jon Skeet where he talks about
floats
anddoubles
and this one where he talks aboutdecimals
.将整数转换为双精度数。
cast the integers to doubles.
首先将其中一个转换为双精度。 此表格适用于多种语言:
Convert one of them to a double first. This form works in many languages:
在 评论中接受的答案有一个区别,这似乎值得在单独的答案中强调。
正确的代码:
与转换整数除法的结果不同:
给定 num1 = 7 和 num2 = 12:
正确的代码将导致 num3 = 0.5833333
转换整数除法的结果将导致 num3 = 0.00
In the comment to the accepted answer there is a distinction made which seems to be worth highlighting in a separate answer.
The correct code:
is not the same as casting the result of integer division:
Given num1 = 7 and num2 = 12:
The correct code will result in num3 = 0.5833333
Casting the result of integer division will result in num3 = 0.00
最简单的方法是为整数添加小数位。
前任。:
The easiest way to do that is adding decimal places to your integer.
Ex.:
我已经浏览了大部分答案,我很确定这是无法实现的。 无论你尝试将两个 int 分成 double 或 float 都不会发生。
但是你有大量的方法来进行计算,只需将它们转换为 float 或 double 即可,然后计算就可以了。
I have went through most of the answers and im pretty sure that it's unachievable. Whatever you try to divide two int into double or float is not gonna happen.
But you have tons of methods to make the calculation happen, just cast them into float or double before the calculation will be fine.