首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

浮点数相减后的奇怪结果?解决思路

2012-02-05 
浮点数相减后的奇怪结果?在C#中:float i 317.4ffloat j 317.3ffloat k i - jMessageBox.Show(k.T

浮点数相减后的奇怪结果?
在C#中:

float i = 317.4f;
float j = 317.3f;
float k = i - j;
MessageBox.Show(k.ToString());
k的值为0.1000061 


如果换成double型的
double i = 317.4;
double j = 317.3;
double k = i - j;
MessageBox.Show(k.ToString());
k的值为:0.0999999999999659


这是为什么呢?

[解决办法]

类型 大致范围 精度 .NET Framework 类型

double ±5.0 × 10?324 到 ±1.7 × 10308 15 到 16 位 System.Double 


类型 大致范围 精度 .NET Framework 类型
float ±1.5 × 10-45 to ±3.4 × 1038 7 位 System.Single 

热点排行