社区
C#
帖子详情
decimal转化为single(float)
hyh2005888123
2009-04-13 11:12:35
在把decimal转化为single时,用Decimal.ToSingle(),数值结果完全变了,哪位大哥知道更好的方法,可以让数值大小相符!!
问题2:在Matlab里,如何把一个single类型的矩阵保存为2进制格式,Matlab的single与.net里的single相同吗??
...全文
630
7
打赏
收藏
decimal转化为single(float)
在把decimal转化为single时,用Decimal.ToSingle(),数值结果完全变了,哪位大哥知道更好的方法,可以让数值大小相符!! 问题2:在Matlab里,如何把一个single类型的矩阵保存为2进制格式,Matlab的single与.net里的single相同吗??
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
junyi2003
2009-04-13
打赏
举报
回复
从普通程序员的角度来说, 这类转换肯定是先保证整数位的。然后才考虑小数点后的精度。
写C#之类的系统函数大多都是普通程序员出身,有时候写得挺出色,有时候写得不如人意。不如人意的时候,你就自己写一个符合自己要求的咯。 -.-
gqs2105
2009-04-13
打赏
举报
回复
[Quote=引用 4 楼 junyi2003 的回复:]
一个128位的,一个才32位。精度和数据表达范围,差远了。 你先转成double看看.......实在不行就迂回曲折一下。
[/Quote]
请看5楼我的回复,
存储在decimal中的数值精度越高在转化成float或double时,产生的误差就越大
gqs2105
2009-04-13
打赏
举报
回复
精度指的是整数位+小数位的个数,
当整数位不为0时
例如 5.666666666666666666666666666666 精度是31
保存到double中时由于超出了double本身的精度范围所以会舍位,
得到5.66666666666667 精度15 有效数字14(最后的7是4四舍五入的)
保存到float中
得到5.666667 精度7 有效数字6 (最后的7是4四舍五入的)
保存到decimal中
得到5.666666666666666666666666667 精度 28 有效数字27 (最后的7是4四舍五入的)
当整数位为0时
例如 0.5666666666666666666666666666666 精度是32
保存到double中时由于超出了double本身的精度范围所以会舍位,
得到0.566666666666667 精度16 有效数字15(最后的7是4四舍五入的)
保存到float中
得到0.5666667 精度7 有效数字6 (最后的7是4四舍五入的)
保存到decimal中
得到0.5666666666666666666666666667 精度 29有效数字28(最后的7是4四舍五入的)
junyi2003
2009-04-13
打赏
举报
回复
一个128位的,一个才32位。精度和数据表达范围,差远了。 你先转成double看看.......实在不行就迂回曲折一下。
gqs2105
2009-04-13
打赏
举报
回复
类型 大致范围 精度 .NET Framework 类型
double ±5.0×10−324到±1.7×10308 15到16 位 System.Double
类型 大致范围 精度 .NET Framework 类型
float ±1.5×10-45to±3.4×1038 7 位 System.Single
类型 大致范围 精度 .NET Framework 类型
decimal ±1.0×10e−28至±7.9× 10e28 28到29 System.Decimal
hyh2005888123
2009-04-13
打赏
举报
回复
这个我懂,但误差不可能差几个数量级啊!!
gqs2105
2009-04-13
打赏
举报
回复
A1: decimal转成float或double数值会产生误差
float或double装成decimal时数值不会产生误差
原因:decimal与另外两种类型的存储方法不同
C#实现把科学计数法(E)
转化
为正常数字值
主要介绍了C#实现把科学计数法(E)
转化
为正常数字值,本文直接给出代码实例,需要的朋友可以参考下
labview_32位单精度浮点数转定点小数
labview_32位单精度浮点数转定点小数,亲测可用(Own use labview to build 32-bit
single
precision
float
ing point
decimal
turn, pro-test available)
c# 与C++ 类之间的
转化
这边里面详细的说明C#调用C++dll时候类型的
转化
SQL SERVER数据类型与C#数据类型对照表(非C#代码)
SQL SERVER数据类型与C#数据类型对照表(非C#代码).doc,是表格形式的。
mysql
float
数据类型和
decimal
数据类型
http://yongxiong.leanote.com/post/mysql_
float
_double_
decimal
前言 我们知道在MySQL中有3种类型可以表示实数,分别是
float
,double和
decimal
。关于如何合理得使用这三种类型,网上的答案也层出不穷。但是究竟该选择哪一种类型,好像并没有统一的答案,接下来,将通过一个例子来说明什么情况下选择
C#
111,126
社区成员
642,541
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章