我正在尝试将带有变量decimal的字符串字段转换为double。我遇到的问题是因为小数是可变的,可以是以下任何一种:
359.879999
35.8799999
3.59879999
(在任何地方移动小数......但字段的长度始终为9)
我试过这样做:
cast(RECURR as float) as RECURR
但这只是回归:
359.880004882813
我试过了:
cast(RECURR as decimal) as RECURR
然后返回:
360
答案 0 :(得分:3)
尝试怎么样:
select cast(recurr as decimal(19, 9))
这适用于小数点潜伏的任何地方。
请注意,未使用的小数位将为零。