感谢您的回覆~您说的这些我都知道~指是因为版上有9成以上都是学生~
一下子问太难的我怕又得解释半天~所以我直接省略前段把最关键的部分~
拿出来问~毕竟程式已经完成2年多了~回归主题~
误差问题:
如果说考试时一题算术题答案明明是0~甲生写1~被教授打0分~
你觉得甲生可以去跟教授说只差1~好歹也给一半分数吧~您说有可能吗?
再说如果1.798174的单位是A~但是客户要看的是nA的~那一经转换后~
1.798174 A = 1.798174*(10 ^9)=> 1798174000 nA 和
1.79817 A = 1.79817*(10 ^ 9)=> 1798170000 nA
1798174000 - 1798170000 = 4000(此时还只差1吗?)
差了1就天差地远了~
既然atof();有问题~那还是尝试使用二进位转换去取值比较保险~
只是不想搞得那么麻烦~想偷懒而已~
再说原本1.798174是小数点后6位数~进了atof();转出后~即使回传Double型~
但是精度增加再转回float型~至少还是得保有6位数~为啥变5位?
少一位这并不符合float型后显示6位数的规则~(IEEE 754)
这并不符逻辑~是我编程上有什么地方有遗漏吗?