C#中有趣的的四舍五入现象和一个简单的解决方案
2008-01-15 15:11
309 查看
static void Main(string[] args)
{
decimal dValue = 400.5m;
Console.WriteLine(Math.Round(dValue,0).ToString());
Console.WriteLine(RoundDecimal(dValue).ToString());
dValue = 40.5m;
Console.WriteLine(Math.Round(dValue,0).ToString());
Console.WriteLine(RoundDecimal(dValue).ToString());
dValue = 44.5m;
Console.WriteLine(Math.Round(dValue,0).ToString());
Console.WriteLine(RoundDecimal(dValue).ToString());
dValue = 4.5m;
Console.WriteLine(Math.Round(dValue,0).ToString());
Console.WriteLine(RoundDecimal(dValue).ToString());
Console.Read();
}
public static decimal RoundDecimal(decimal dValue)
{
return dValue.ToString().Split('.').Length == 2 && Convert.ToDecimal(dValue.ToString().Split('.')[0]) % 4 == 0 ?( Convert.ToDecimal(dValue.ToString().Split('.')[1]) == 5 ?Convert.ToDecimal(dValue.ToString().Split('.')[0]) + 1:Math.Round(dValue,0)):Math.Round(dValue,0);
}
输出结果如下:
{
decimal dValue = 400.5m;
Console.WriteLine(Math.Round(dValue,0).ToString());
Console.WriteLine(RoundDecimal(dValue).ToString());
dValue = 40.5m;
Console.WriteLine(Math.Round(dValue,0).ToString());
Console.WriteLine(RoundDecimal(dValue).ToString());
dValue = 44.5m;
Console.WriteLine(Math.Round(dValue,0).ToString());
Console.WriteLine(RoundDecimal(dValue).ToString());
dValue = 4.5m;
Console.WriteLine(Math.Round(dValue,0).ToString());
Console.WriteLine(RoundDecimal(dValue).ToString());
Console.Read();
}
public static decimal RoundDecimal(decimal dValue)
{
return dValue.ToString().Split('.').Length == 2 && Convert.ToDecimal(dValue.ToString().Split('.')[0]) % 4 == 0 ?( Convert.ToDecimal(dValue.ToString().Split('.')[1]) == 5 ?Convert.ToDecimal(dValue.ToString().Split('.')[0]) + 1:Math.Round(dValue,0)):Math.Round(dValue,0);
}
输出结果如下:
相关文章推荐
- 谈谈C#的私有成员的一个有趣的现象!
- 简介 WatiN是一个开源的用于Web测试自动化的类库,从watir中获得的灵感,使用C#开发。WatiN通过与浏览器的交互来实现自动化,使用起来具有轻便,简单的特点。目前最新版本为2.0,加入了对
- 收了100元辛苦费,写了一个最简单的C#ASP.NET的3层架构例子代码
- 推荐一个简单、轻量、功能非常强大的C#/ASP.NET定时任务执行管理器组件–FluentScheduler定时器
- C#程序只允许运行一个实例的解决方案
- 如何用C#写一个简单的Login窗口
- 一个简单的能被C#调用的C++的dll
- 如何用C#写一个简单的Login窗口
- 一个简单的 C# 语言编写的 WIN32 程序
- visual studio 2010下 C# 编写的一个简单的网页源代码分析、链接抓取器
- 一个很简单的C#例子,给网友解答的,总觉得应该有更简单的方法
- 使用C#开发一个简单的P2P应用
- 使用C#开发一个简单的P2P应用
- (C#)一个WCF简单实例
- C#开发一个简单的P2P应用
- C#判断一个string是否可以为数字的五种解决方案
- Asp.net 在网页编写C#代码示例-- 一个简单的web MsSql 命令执行环境
- 推荐一个用C#代码生成JavsScript的简单程序集
- 写一个简单的存储过程,并C#调用
- java构造器执行顺序一个有趣的简单实例