惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
Blog — PlanetScale
Blog — PlanetScale
GbyAI
GbyAI
Engineering at Meta
Engineering at Meta
博客园 - 司徒正美
T
Tailwind CSS Blog
F
Full Disclosure
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
小众软件
小众软件
IT之家
IT之家
J
Java Code Geeks
Y
Y Combinator Blog
Microsoft Security Blog
Microsoft Security Blog
B
Blog
V
V2EX
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
Hugging Face - Blog
Hugging Face - Blog
美团技术团队
The Cloudflare Blog
Recent Announcements
Recent Announcements
博客园 - 【当耐特】
Google DeepMind News
Google DeepMind News
罗磊的独立博客
博客园 - 叶小钗
阮一峰的网络日志
阮一峰的网络日志
The GitHub Blog
The GitHub Blog
云风的 BLOG
云风的 BLOG
aimingoo的专栏
aimingoo的专栏
大猫的无限游戏
大猫的无限游戏
酷 壳 – CoolShell
酷 壳 – CoolShell
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
S
Security @ Cisco Blogs
MyScale Blog
MyScale Blog
MongoDB | Blog
MongoDB | Blog
U
Unit 42
H
Heimdal Security Blog
Recent Commits to openclaw:main
Recent Commits to openclaw:main
V2EX - 技术
V2EX - 技术
H
Hackread – Cybersecurity News, Data Breaches, AI and More
Google Online Security Blog
Google Online Security Blog
N
News and Events Feed by Topic
Hacker News - Newest:
Hacker News - Newest: "LLM"
PCI Perspectives
PCI Perspectives
博客园 - 三生石上(FineUI控件)
I
InfoQ
SecWiki News
SecWiki News
N
News and Events Feed by Topic
D
DataBreaches.Net
Schneier on Security
Schneier on Security
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO

博客园 - zzzp0755

Docker集群 + 运维 + 镜像仓库 Docker安装和应用 linux常用命令 SQL Server 检测到基于一致性的逻辑 I/O 错误 校验和不正确(应为:010f28a5,但实际为:0xcaf47a0c)。 ABP vNext学习 及问题记录 winform datagridview 勾选复选框 和点击单元格事件区分 Vol.NET 开发步骤 .net6.0 新知识学习 英语2025-02 Dev 案例 css 积累 20240423 JSON.NET JObject键比较不区分大小写 jsfiddle.net js在线调试 sql 时间日期函数 ele admin plus 添加dev插件 .NET Core Web API 实现图形验证码 DataGridView 保存编辑的行 .net webapi 返回类型
FLOAT:浮点数值数据的大致数值数据类型
zzzp0755 · 2024-08-30 · via 博客园 - zzzp0755

FLOAT类型的官方描述:

用于表示浮点数值数据的大致数值数据类型。浮点数据为近似值;因此,并非数据类型范围内的所有值都能精确地表示。

上面已经告诉我们了一句话,就是不要太相信它喔。

TSQL提供了一个专门的代表实数的数据类型。事实上它提供了两种实数类型:REAL和FLOAT,不过这些数据类型和SQLSERVER的其他数据类型(其中一些类型据称是精确的类型)都不是严格数学意义上的实数系统。

数字的计算机表示对算数运算来说不是真实的,虽然它们可以满足大多数需求,但不能为所有问题提供“正确的答案”。

下面举例说明:

Real类型的不真实性:

这个不符合乘法的结合律a(bc)=(ab)c,但是对于SQLSever中实数和运算的表示,这两个式子则不相等,SQLServer在这一点上并没有任何错误,这样的结果符合浮点运算的重要IEEE标准。

Float类型的不真实性:

12.055进位应该是12.06结果却为12.05

另外的还补充一点,就是.NET中的Math.Round()这个函数默认的是采用银行家算法,这个函数还有哥带有枚举值的参数,这个参数可以指定使用哪种四舍五入的方法(其中包括传统的四舍五入的方法和采用银行家算法的四舍五入的方法)

如果使用 money 或 numeric 数据类型,那么,内部转换为 float 可能会降低精度。

所以在进行精确财务计算时,请尽量少使用float和real这样的数字类型,虽然这两种数据类型速度要快。
————————————————

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

原文链接:https://blog.csdn.net/lulei6/article/details/106686626/