早教吧作业答案频道 -->其他-->
怎样才能让C#数值计算的准确?我有一段代码:doubledTDMNY=iTDVOL*fTDPRC;其中iTDVOL类型为int32值为144423,fTDPRC类型为float值为7.95,结果计算出dTDMNY的值为:1148162.8224534988,我中断程序,查看iTDVOL*fTD
题目详情
怎样才能让C#数值计算的准确?
我有一段代码:
double dTDMNY = iTDVOL * fTDPRC;
其中iTDVOL类型为int32值为144423,fTDPRC类型为float值为7.95,结果计算出dTDMNY 的值为:1148162.8224534988,我中断程序,查看 iTDVOL * fTDPRC的乘积为1148162.88,而我用手头的计算器算出来的值为1148162.85,我手工算了一下,发现只有计算器是正确的,C#中那一部分算的都有偏差,怎样才能让C#算出一个准确的值呢?
我有一段代码:
double dTDMNY = iTDVOL * fTDPRC;
其中iTDVOL类型为int32值为144423,fTDPRC类型为float值为7.95,结果计算出dTDMNY 的值为:1148162.8224534988,我中断程序,查看 iTDVOL * fTDPRC的乘积为1148162.88,而我用手头的计算器算出来的值为1148162.85,我手工算了一下,发现只有计算器是正确的,C#中那一部分算的都有偏差,怎样才能让C#算出一个准确的值呢?
▼优质解答
答案和解析
int类型和float类型的乘积 是 float类型.,float类型的有效数字大概只有7,8位,
1148162.85 已经超过了有效数字了,
你可以先转成double
double dTDMNY = iTDVOL * (double)fTDPRC;
1148162.85 已经超过了有效数字了,
你可以先转成double
double dTDMNY = iTDVOL * (double)fTDPRC;
看了怎样才能让C#数值计算的准确?...的网友还看了以下:
判断题中F和T各代表什么意思,它们的英语单词及中文意义? 2020-05-15 …
已知某人的血压满足函数关系式f(t)=24sin160πt+110,其中f(t)为血压(mmHg) 2020-05-24 …
判断题中f和t哪个代表正确? 2020-06-12 …
函数中f一撇(x)是什么意思 2020-07-07 …
对任意的正数s,t,有下列4个关系式:①f(s+t)=f(s)+f(t);②f(s+t)=f(s) 2020-07-20 …
设u=f(x/y,y/z),其中f(s,t)具有连续的一阶偏导数,求du 2020-07-21 …
设z=f(2x-y)+g(x,xy),其中f(t)二阶可导,g(u,v)具有连续的二阶偏导数,则∂z 2020-10-31 …
设u(x,y)=∫10f(t)|xy-t|dt,其中f(t)在[0,1]上连续,0≤x≤1,0≤y≤ 2020-11-01 …
为了测量蹦床运动员跃起的高度,可在弹性网上安装压力传感器,利用传感器记录运动员运动过程中对弹性网的压 2020-11-24 …
关于一个功率一定的汽车在粗糙地面上启动根据物理的知识设牵引力F(变力),摩擦力f(恒力)F-f=ma 2021-01-04 …