求一个四舍五入+保留一位小数的算法 问题,如题;例:6.66666666666 → 6.76.55555555555 → 6.66.44444444444 → 6.4 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 Math.Round(6.66666666666,1) 不可以吗? Console.WriteLine(Math.Round(6.66666666666, 1, MidpointRounding.AwayFromZero).ToString());Console.WriteLine(6.66666666666.ToString("f1"));Console.WriteLine(Math.Round(6.55555555555, 1, MidpointRounding.AwayFromZero).ToString());Console.WriteLine(6.55555555555.ToString("f1"));Console.WriteLine(Math.Round(6.44444444444, 1, MidpointRounding.AwayFromZero).ToString());Console.WriteLine(6.44444444444.ToString("f1")); double d=6.66666666666 ;d=d*10;float i=(int)d;i=i/10; 思路是乘以10左移小数点一位,之后利用(int)强制转换切点多余的小数部分,最后再除以10把结果赋给一个float型。 /// <summary> /// 四舍五入 /// </summary> /// <param name="nuber">要进行四舍五的数</param> /// <param name="point">要保留的小数位数</param> /// <returns></returns> public static double Round(double nuber, int point) { double tem = Math.Pow(10, point); double ret = nuber * tem; double min = Math.Floor(ret); if (ret >= min + 0.5) { //大于五入 ret = min + 1; } else { //小于五舍 ret = min; } return ret / tem; } c# 如何向数据库表中插入数据 问问百度或Google广告放在CSDN或cnblogs有收益吗? C#的一个很简单的问题。。请高手帮忙。小弟无尽感激(22)//用ListView控件开发登陆界面 文本框提示,跟google那样的提示功能如何实现! C# void 与 bool转换 PropertyGrid控件问题(急,急,急,在线等)???? 修改操作碰到的问题 获取本地数据库服务器列表-急 急 急 简单问题,在线等 如何将这一数字转化为一合理的日期,我不太明白这种日期是什么格式。1100952000 电子商务平台搭建的建议,不知在哪发帖,所以就在最熟悉的这发了 关于窗体调用的问题
Console.WriteLine(6.66666666666.ToString("f1"));
Console.WriteLine(Math.Round(6.55555555555, 1, MidpointRounding.AwayFromZero).ToString());
Console.WriteLine(6.55555555555.ToString("f1"));
Console.WriteLine(Math.Round(6.44444444444, 1, MidpointRounding.AwayFromZero).ToString());
Console.WriteLine(6.44444444444.ToString("f1"));
double d=6.66666666666 ;
d=d*10;
float i=(int)d;
i=i/10;
思路是乘以10左移小数点一位,之后利用(int)强制转换切点多余的小数部分,最后再除以10把结果赋给一个float型。
/// 四舍五入
/// </summary>
/// <param name="nuber">要进行四舍五的数</param>
/// <param name="point">要保留的小数位数</param>
/// <returns></returns>
public static double Round(double nuber, int point)
{
double tem = Math.Pow(10, point);
double ret = nuber * tem;
double min = Math.Floor(ret);
if (ret >= min + 0.5)
{
//大于五入
ret = min + 1;
}
else
{
//小于五舍
ret = min;
}
return ret / tem;
}