C#将十进制类型作为字符串进行比较
我正在为我们的站点编写一个日志系统,它查看对实体的更改,以查看是否应该记录这些更改。我一直有一个问题,数据库中实体的版本显示十进制数(字符串格式)为“132.0000”,而当前实体显示为“132”,没有小数点。C#将十进制类型作为字符串进行比较,c#,decimal,tostring,C#,Decimal,Tostring,我正在为我们的站点编写一个日志系统,它查看对实体的更改,以查看是否应该记录这些更改。我一直有一个问题,数据库中实体的版本显示十进制数(字符串格式)为“132.0000”,而当前实体显示为“132”,没有小数点。 有没有一种方法可以强制它从一个中删除“.0000”或将其添加到另一个中?如果您总是想删除小数,为什么不将对象转换为int,然后生成一个字符串?如果您总是想删除小数,为什么不将对象转换为int,然后生成一个字符串?Hm,只需将数据库中的值解析为十进制并与已有的十进制进行比较?Hm,只需将数
有没有一种方法可以强制它从一个中删除“.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#数据类型否,一般来说,将所有内容转换为字符串进行比较的学派是错误的,例如,使用浮点,在字符串转换中会丢失信息,不,通常情况下,将所有内容转换为字符串进行比较的学派是错误的,例如,使用浮点,如果不小心,您将丢失字符串转换中的信息。