首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Server 2008 R2中将十进制转换为科学

问如何在Server 2008 R2中将十进制转换为科学
EN

Stack Overflow用户
提问于 2015-07-11 06:06:36
回答 2查看 52关注 0票数 0

我有一张名叫Product的桌子。这张桌子是这样的:

代码语言:javascript
复制
ID   Product           Volume
1      xyz       4654.000000000000000
2      abc       121.000000000000000

我想用科学的符号来表示Volume。Volume的数据类型为decimal(20,8)。

我怎样才能进行这种转换?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-07-11 08:43:35

通常,数据的格式和表示应该在客户端由UI完成,但是如果您坚持.

代码语言:javascript
复制
DECLARE @t decimal(20,8) = 4654.000000000000000;
SELECT @t, CONVERT(nvarchar(32), CAST(@t as float), 2)

结果

代码语言:javascript
复制
4654.00000000   4.654000000000000e+003

首先使用CAST decimal到float (请注意,它可能会丢失精度),然后使用style 2将CONVERT float转换为nvarchar

总是16位数。总是用在科学符号中。

Note

float类型只有15位的精度,所以它不能在不丢失精度的情况下存储decimal(20,8)。

票数 1
EN

Stack Overflow用户

发布于 2015-07-11 06:33:15

代码语言:javascript
复制
declare @t decimal(20,8)=132423423421.00000000
print  cast(@t as float)

您可以在select语句中将卷字段转换为浮动,然后将得到科学的注释,如上面所示。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31354009

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档