如何实现这样的小数点保留并进位?

glassy2000 2013-05-23 04:37:31
ASP.NET(C#)
234.123保留两位小数点,并且第三位为非0时向上进一位,要求结果为123.13

又如:
123.120要求结果为123.12
123.121要求结果为123.13
123.128要求结果为123.13

有没有这方面的函数或方法
ASP.NET(C#)
...全文
602 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
游戏人间 2013-05-24
  • 打赏
  • 举报
回复
上面的好像是取整了。 这个才是正确的。 Math.Round(xxx, 2);
游戏人间 2013-05-24
  • 打赏
  • 举报
回复
搞反了 向下无条件舍位用Floor 向上无条件进位用 Ceiling
游戏人间 2013-05-24
  • 打赏
  • 举报
回复
向上无条件进位用Floor 向下无条件舍位用Ceiling
dalmeeme 2013-05-23
  • 打赏
  • 举报
回复
		double[] values = { 1.120, 2.121, 3.124, 4.125, 5.129 };
		foreach (double value in values)
		{
			string r = (Math.Floor(value * 100 + 0.9) / 100).ToString("F2");
			Response.Write(r + "<br/>");
		}
输出: 1.12 2.13 3.13 4.13 5.13
信不信由你zzy 2013-05-23
  • 打赏
  • 举报
回复
[quote=引用 3 楼 purple_snow 的回复:] string str = '234.123'; str = str.ToString("0.00"); 这可以么,我怎么提示文本字符过多,str是一个字符串类型,后面赋值是单引号不是字符吗,如果改双引号又会报错。 新手求解
purple_snow 2013-05-23
  • 打赏
  • 举报
回复
string str = '234.123'; str = str.ToString("0.00"); 系统自动进位的,这个方法很好用
写代码的小2B 2013-05-23
  • 打赏
  • 举报
回复
http://msdn.microsoft.com/zh-cn/library/vstudio/kfsatb94.aspx
Mirror然 2013-05-23
  • 打赏
  • 举报
回复
自己写个方法处理吧

  double a=123.120;
  string str=a.ToString();
  int count=str.LastIndexOf(".");
  取值为0 舍去
  其他 则增加0.01
  

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧