在C#中,decimal
类型'会记住'原始数字的精确度:
decimal.Parse("090,12300").ToString() == "90,12300"
decimal.Parse("090,123").ToString() == "90,123"
decimal.Parse("090,0").ToString() == "90,0"
decimal.Parse("90").ToString() == "90"
出于商业原因(*),这种精度对我们很重要,因此我们希望在数据库(SqlServer)中保留它。是否存在SQL数据类型(varchar除外),其行为方式与c#decimal
相同?
(*)用户希望查看在应用程序中输入的确切数字。例如:某些尺度比其他尺度更精确。这意味着12.5在这种情况下具有12.50以上的含义。
答案 0 :(得分:1)
使用两列,一列用于值本身,第二列用于点之后的位数。
您需要的是一个函数,它将您的值格式化为字符串,填充为零,直到足够的数字。