关于FLOAT 8类型字段的用法!

zhjian6 2005-09-16 09:51:05
输入的数据为:67.98
到数据库里怎么成了:67.980000000000004
我狂晕,FLOAT 8到底是怎么用的?
我要求的字段很简单的,小数点精确到5,6位,有负数,够大,就可以了
高手,觉得我用那种类型的字段比较合适?
...全文
877 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhjian6 2005-09-28
  • 打赏
  • 举报
回复
http://community.csdn.net/Expert/topic/4298/4298452.xml?temp=.1089899
vivianfdlpw 2005-09-28
  • 打赏
  • 举报
回复
贴出你的代码
zhjian6 2005-09-28
  • 打赏
  • 举报
回复
用了
NUMERIC(38,6)
DECIMAL(38,6)
后,不能在ASP中直接加减乘除!
MorningTea 2005-09-17
  • 打赏
  • 举报
回复
FLOAT,REAL--
NUMBER1 FLOAT(53)--表示最多有53位数

你要求精度还是用DECIMAL,NUMERIC

DECIMAL,NUMERIC的设定以及位数的限制,当启动SQL SERVER服务的时候加上/P参数即可达到38位数,否则预设为28位数,
NUMERIC(38,6)
DECIMAL(38,6)
wgsasd311 2005-09-16
  • 打赏
  • 举报
回复
我要求的字段很简单的,小数点精确到5,6位,有负数,够大,就可以了
==============>简单的很,定义为:decimal(18,6)
vivianfdlpw 2005-09-16
  • 打赏
  • 举报
回复
decimal 和 numeric
带定点精度和小数位数的 numeric 数据类型。

decimal[(p[, s])] 和 numeric[(p[, s])]

定点精度和小数位数。使用最大精度时,有效值从 - 10^38 +1 到 10^38 - 1。decimal 的 SQL-92 同义词是 dec 和 dec(p, s)。

p(精度)

指定小数点左边和右边可以存储的十进制数字的最大个数。精度必须是从 1 到最大精度之间的值。最大精度为 38。

s(小数位数)

指定小数点右边可以存储的十进制数字的最大个数。小数位数必须是从 0 到 p 之间的值。默认小数位数是 0,因而 0 <= s <= p。最大存储大小基于精度而变化。
phantomMan 2005-09-16
  • 打赏
  • 举报
回复
float 达不到你的要求,可以使用 decimal 或者 numric 来代替


create table a
(
f1 decimal(10,8)
)

insert into a values(12)

select * from a


子陌红尘 2005-09-16
  • 打赏
  • 举报
回复
float 和 real
用于表示浮点数字数据的近似数字数据类型。浮点数据为近似值;并非数据类型范围内的所有数据都能精确地表示。

建议使用numeric(12,6)

34,593

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧