如何将两个整数除法得到二重数?
当前回答
将整数转换为双精度。
其他回答
最简单的方法是在整数上加小数点。
Ex.:
var v1 = 1 / 30 //the result is 0
var v2 = 1.00 / 30.00 //the result is 0.033333333333333333
补充@NoahD的回答
要获得更大的精度,您可以转换为十进制:
(decimal)100/863
//0.1158748551564310544611819235
Or:
Decimal.Divide(100, 863)
//0.1158748551564310544611819235
Double表示分配64位,而decimal使用128位
(double)100/863
//0.11587485515643106
深度讲解“精准”
有关二进制浮点表示及其精度的更多细节,请参阅Jon Skeet的这篇文章,他在其中讨论了浮点数和双精度数,而这篇文章则讨论了小数。
我已经看过了大部分的答案,我很确定这是不可能实现的。不管你把两个int分成double或float都不会发生。 但是你有大量的方法来进行计算,在计算之前将它们转换为float或double就可以了。
var result = decimal.ToDouble(decimal.Divide(5, 2));
将整数转换为双精度。
推荐文章
- 实体框架核心:在上一个操作完成之前,在此上下文中开始的第二个操作
- 如何为构造函数定制Visual Studio的私有字段生成快捷方式?
- 如何使用JSON确保字符串是有效的JSON。网
- AppSettings从.config文件中获取值
- 通过HttpClient向REST API发布一个空体
- 如何检查IEnumerable是否为空或空?
- 自动化invokerrequired代码模式
- 在c#代码中设置WPF文本框的背景颜色
- 在c#中,什么是单子?
- c#和Java中的泛型有什么不同?和模板在c++ ?
- 如何舍入一个双到最近的Int在迅速?
- c#线程安全快速(est)计数器
- HyperLogLog算法是如何工作的?
- 如何将此foreach代码转换为Parallel.ForEach?
- 如何分裂()一个分隔字符串到一个列表<字符串>