C#将Decimal类型与String进行比较



我正在为我们的网站编写一个日志系统,它会查看对实体的更改,看看是否应该记录它们。我一直遇到一个问题,数据库中实体的版本显示十进制数字(字符串格式)为"132.0000",而当前实体的数字为"132",没有小数位数。有没有一种方法可以强制它从一个中删除".0000"或将其添加到另一个?

Hm,只需将数据库中的值解析为十进制,并将其与已有的十进制进行比较?

您可以尝试:

if(132 == Convert.ToDecimal("132.0000")
{
    //Do Stuff
}

将132和"132.0000"替换为适当的值。

此外,如果你想删除"132.0000"的小数部分,你可以做:

string dec = "132.0000";
dec = dec.Substring(0,dec.IndexOf("."));

我想把条目转换回十进制。

如果您总是想删除小数,为什么不将对象强制转换为int,然后生成一个字符串呢?

如果所有的比较都是数字,那么您必须找到两者之间的共性。在你的帖子中,你已经提供了答案。你需要一个整数,而不是一个浮点数。将两个字符串强制转换为其中一个整数类型并进行比较。

您可以使用格式化程序字符串:F4xxx。ToString("F4")

最新更新