C#将十进制类型作为字符串进行比较

C#将十进制类型作为字符串进行比较,c#,decimal,tostring,C#,Decimal,Tostring,我正在为我们的站点编写一个日志系统,它查看对实体的更改,以查看是否应该记录这些更改。我一直有一个问题,数据库中实体的版本显示十进制数(字符串格式)为“132.0000”,而当前实体显示为“132”,没有小数点。 有没有一种方法可以强制它从一个中删除“.0000”或将其添加到另一个中?如果您总是想删除小数,为什么不将对象转换为int,然后生成一个字符串?如果您总是想删除小数,为什么不将对象转换为int,然后生成一个字符串?Hm,只需将数据库中的值解析为十进制并与已有的十进制进行比较?Hm,只需将数

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

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

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

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

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

将条目转换回十进制,我说。

将条目转换回十进制,我想说。

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

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

您可以尝试:

if(132 == Convert.ToDecimal("132.0000")
{
    //Do Stuff
}
用适当的值替换132和“132.0000”

此外,如果要删除“132.0000”的小数部分,可以执行以下操作:

string dec = "132.0000";

dec = dec.Substring(0,dec.IndexOf("."));
您可以尝试:

if(132 == Convert.ToDecimal("132.0000")
{
    //Do Stuff
}
用适当的值替换132和“132.0000”

此外,如果要删除“132.0000”的小数部分,可以执行以下操作:

string dec = "132.0000";

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

您可以使用格式化程序字符串:F4
xxx.ToString(“F4”)

您可以使用格式化程序字符串:F4
xxx.ToString(“F4”)

你的意思是“分数”,
十进制
是C#数据类型你的意思是“分数”,
十进制
是C#数据类型否,一般来说,
将所有内容转换为字符串进行比较的学派是错误的,例如,使用浮点,在字符串转换中会丢失信息,不,通常情况下,将所有内容转换为字符串进行比较的
学派是错误的,例如,使用浮点,如果不小心,您将丢失字符串转换中的信息。