我有一列的值集非常大(> 21k),小数位数不确定,并且存在一些示例数据(FLOAT):
6.46
0.784
8.05
86.4
2.64
0
2.14
1E-06
14.81
3.45
0.87243
0
1.12279
0
21.41
0.6243
我想返回所有显示的值,除了“ 1E-06”应该是.000001;此外,任何科学计数法都应采用纯十进制格式。
我试图编写某种CASE语句,其中在“ THEN”后跟“ CONVERT(varchar(100),CAST(@testFloat AS decimal(38, x )))””其中 x 是信号无花果的数量,但是我无法为WHEN语句获得正确的条件,这是我的最佳尝试:
CASE
WHEN @testFloat = 0 THEN @testFloat
WHEN FLOOR(@testFloat*10) != @testFloat*10 THEN CONVERT(varchar(100), CAST(@testFloat AS decimal(38,2)))
WHEN FLOOR(@testFloat*100) != @testFloat*100 THEN CONVERT(varchar(100), CAST(@testFloat AS decimal(38,3)))
*etc*
END
很确定我没有走正确的路。...
答案 0 :(得分:0)
Jeroen的评论很有帮助,并给了我表达方式,使我可以得到想要的结果:
URLSession(configuration: .default, delegate: enabler, delegateQueue: nil)
我认为我只需要将'308'降低到代表我们流程中所见最高精度水平的数字即可。谢谢Jeroen的解决方案!