我有一个变量是decimal类型,二位小数,如何去掉他后面没用的零

fssdhg 2008-03-13 08:36:09
我有一个变量是decimal类型,二位小数,如何去掉他后面没用的零

如:50.00 要让他变成 50
如:50.10 要站他变成 50.1
如:50.11 这个不变


就是去掉他后面多余的零。
...全文
594 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
yichuan1982 2008-03-13
  • 打赏
  • 举报
回复
不好意思,我看错了,我以为你要保留两位小数
yichuan1982 2008-03-13
  • 打赏
  • 举报
回复

#region 判断输入的输入是否为float型,保留两位小数,如果否,返回0
/// <summary>
/// 对输入数据进行转换(float)
/// </summary>
/// <param name="num"></param>
/// <returns></returns>
public string ChangeFloat(string num)
{
double temp;
if (num.Trim().Length == 0)
{
return "0";
}
else
{
try
{
temp = Math.Round(float.Parse(num), 2);
return temp.ToString();
}
catch
{
return "0";
}
}
}
#endregion

你参考一下。
llxchen 2008-03-13
  • 打赏
  • 举报
回复
如果是Double类型,可以直接输出就是你要的效果,decimal类型就用lovehongyun的方法
[Quote=引用 2 楼 lovehongyun 的回复:]
C# codedecimal i = 50.00M;
decimal j = 50.10M;

Response.Write(Convert.ToDouble(i));
Response.Write(Convert.ToDouble(j));
[/Quote]
vrhero 2008-03-13
  • 打赏
  • 举报
回复
又有人问这种问题...

只有字符串形式的数字才需要格式...数字类型的显示格式只对人才有意义!在电脑里你管他有几个零...

不要转换类型...从 Decimal 到 Single 或 Double 的转换属于收缩转换,可能会丢失精度...
TNT_1st_excellence 2008-03-13
  • 打赏
  • 举报
回复
Convert.ToString()就可以了
myhope88 2008-03-13
  • 打赏
  • 举报
回复
判断一下不就可以了吗
阿非 2008-03-13
  • 打赏
  • 举报
回复


Response.Write(Convert.ToSingle("458.00")+"<br>");
Response.Write(Convert.ToSingle("458.10") + "<br>");
Response.Write(Convert.ToSingle("458.1010") + "<br>");
Response.Write(Convert.ToSingle("458.18") + "<br>");

lovehongyun 2008-03-13
  • 打赏
  • 举报
回复
decimal i = 50.00M;
decimal j = 50.10M;

Response.Write(Convert.ToDouble(i));
Response.Write(Convert.ToDouble(j));
lihongdian 2008-03-13
  • 打赏
  • 举报
回复
一个判断语句,然后format一下字符串

如果有1位不为0则,否则如果有2位不位0则,否则

62,067

社区成员

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

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

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

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