精度处理问题 float ft = (float) Math.Round(fdata / inc)* inc;其中fdata 为要转化的数,inc为数据精度。上面的写法对吗?经常有数据出错! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 public static double Math.Round( double value, int digits)参数value类型:System.Double要舍入的双精度浮点数。digits类型:System.Int32返回值中的小数位数(精度)。返回值类型:System.Double精度等于 digits,最接近 value 的数字。 例如:float fdata = 3.141595265;float ft = (float)Math.Round(fdata, 2); // 保留小数点后2位 Round函数首先用的就不对了,1楼的不错 public static double Round ( double a)将双精度浮点值舍入为最接近的整数。 有这样的方法,我的函数好象没错!当fdata =0.98817,inc=0.0001时ft =0.9881999,不知道什么原因? public static double Round ( double a ) 因为浮点数计算可能损失精度。应该这样用:flaot fdata = 0.98817;int inc = 4;float ft = (float)System.Math.Round(fdata, inc); (SOS)如何在网页中播放Flash和视频文件? 关于反射的问题 关于打印命令 Print 的问题 如何去除DataGridView中选择记录的蓝条? PPC2003连接SQL2000出现“未处理SqlException”错误 pictruebox显示循环播放的GIF动画,内存一直在增加,缘何? 有没有NHibernate的配置和使用介绍 谁能帮我解决:关于DLL调用出现的问题 急,请教word问题 C#中怎样实现十进制与十六进制数的转换? 如何在界面中嵌入3D视窗 关于正则表达式的问题
double value,
int digits
)参数value
类型:System.Double
要舍入的双精度浮点数。digits
类型:System.Int32
返回值中的小数位数(精度)。返回值类型:System.Double
精度等于 digits,最接近 value 的数字。
float fdata = 3.141595265;
float ft = (float)Math.Round(fdata, 2); // 保留小数点后2位
double a
)
将双精度浮点值舍入为最接近的整数。
有这样的方法,我的函数好象没错!
当fdata =0.98817,inc=0.0001时ft =0.9881999,不知道什么原因?
double a
)
因为浮点数计算可能损失精度。应该这样用:flaot fdata = 0.98817;
int inc = 4;
float ft = (float)System.Math.Round(fdata, inc);