C# Decimal断言两位小数,即使为零

C# Decimal断言两位小数,即使为零,c#,decimal,C#,Decimal,我有一个问题,我没有找到任何解决方案: 我从SAP系统中获取数据,并以十进制形式接收数据。有时我得到的值只有一个小数位,例如-18083195.1 我的第三方前端表框架需要-18083195.10,因为有时用户希望在单元格之间复制值,框架在复制事件中将-18083195.1转换为-180831951 如果不在decimal和string之间进行转换,我需要声明这些值始终是0.00 decimal格式,并且是decimal类型 如何实现这一点?您可以使用sample.GetType()==type

我有一个问题,我没有找到任何解决方案:

我从SAP系统中获取数据,并以十进制形式接收数据。有时我得到的值只有一个小数位,例如-18083195.1

我的第三方前端表框架需要-18083195.10,因为有时用户希望在单元格之间复制值,框架在复制事件中将-18083195.1转换为-180831951

如果不在decimal和string之间进行转换,我需要声明这些值始终是0.00 decimal格式,并且是decimal类型


如何实现这一点?

您可以使用
sample.GetType()==typeof(decimal)
检查该值是否为十进制类型谢谢您的建议

我在我的表框架(Handsontable)中发现了错误,当然,在表框架中,值被转换为字符串并返回。由于客户的需求不同,他们希望百分比值采用特定格式,常规值采用另一种格式,这混淆了框架编号格式的功能。我找到了解决这个问题的方法

谢谢!
Fredrik

只有在向用户显示值(即字符串)时,小数点后两位才相关。您可以在存储小数点之前对值进行四舍五入,但这会修改实际值。尝试以下操作:
decimal sample=-18083195.1M+0.00M(注:添加
0.00M
);一般情况下:
Decimal result=source+0.00M
这样第三方组件就不会实现Format属性或CellFormatting事件?@dmitry将0.0添加到浮点变量时不会更改其值all@PatrickHofman:引用要求:-)@Henk,OP想知道如何检查类型,但没有其他人回答过,所以我想我会给出我的答案。但我不知道如果不是十进制,他们想做什么,所以我不能说他们下一步会做什么。他想断言他们是十进制类型。不知道。@Henk,好吧,我可能误解了Fredrik想要什么;但看起来他已经解决了他的问题!