相关疑难解决方法(0)

有多少有效数字在java中有浮点数和双精度数?

浮点数是32个二进制数字,双数字是64个二进制数字吗?文档太难理解了.

所有位都转换为有效数字?或者小数点的位置是否占用了一些位?

java floating-point

77
推荐指数
4
解决办法
14万
查看次数

为什么Convert.ToDecimal(Double)轮到15位有效数字?

我有一个double小数点后的17位数,即:

double myDouble = 0.12345678901234567;
Run Code Online (Sandbox Code Playgroud)

如果我把它转换成decimal这样的:

decimal myDecimal = Convert.ToDecimal(myDouble);
Run Code Online (Sandbox Code Playgroud)

然后根据文档将值myDecimal四舍五入为Convert.ToDecimal15位数(即0.0123456789012345).我的问题是,为什么要进行这种舍入?

我明白,如果我的原始数字可以准确地表示在基数10中并且我试图将其存储为a double,那么我们只能对前15位数有信心.最后两位数将受到舍入误差的影响.但是,这是一个基础10偏见的观点.我的数字可以用a更准确地表示double,我希望将其转换decimal为尽可能保持尽可能准确的数字.

不应Convert.ToDecimal旨在尽量减少之间的区别myDouble(double)Convert.ToDecimal(myDouble)

c# double decimal

3
推荐指数
1
解决办法
1044
查看次数

标签 统计

c# ×1

decimal ×1

double ×1

floating-point ×1

java ×1