- 主题:这个结果为什么不对
哈,bc还不如bash的printf,简直是耻辱。
【 在 eskimo1024 的大作中提到: 】
: 不懂 bc 的逻辑,换 awk 解决的
: awk "BEGIN {printf \"%.3f\n\", $line}"
: bc 的四舍五入逻辑有点怪,奇数不进位,偶数进位。
: ...................
--
FROM 216.240.30.*
之前眼拙,没看到,谢谢提醒。
【 在 eskimo1024 的大作中提到: 】
: 我回帖给了解决办法啊~
: bc -l
: 20位有效数字,再用 printf 做四舍五入
: ...................
--
FROM 216.240.30.*
任意精度,够酷了,直接扔了尾巴图省事吧。
四舍五入又不是啥好东西。
哈哈,我屁股歪了。
【 在 cjohny 的大作中提到: 】
: 哈,bc还不如bash的printf,简直是耻辱。
--
修改:eskimo1024 FROM 113.81.170.*
FROM 113.81.170.*
直接扔尾巴肯定不如四舍五入精确吧?
对了,刚才突然想起来,如果bc做不到四舍五入,那就有点儿鸡肋了。
整个儿的计算由printf完成不香吗?
【 在 eskimo1024 的大作中提到: 】
: 任意精度,够酷了,直接扔了尾巴图省事吧。
: 四舍五入又不是啥好东西。
: 哈哈,我屁股歪了。
: ...................
--
FROM 216.240.30.*
printf 没有任意精度,取决于 double float 的精度
我在 bc 的 manual 里没找到明确的取舍规则,如果补上就好了。
所以正确的用法是,先用高精度,再按要求截取。
顺便说下,“四舍五入”本来是有争议的,
有人给了“四舍六入五凑偶”,这个在实验数据的处理过程中使用更普遍。
https://baike.baidu.com/item/%E5%9B%9B%E8%88%8D%E5%85%AD%E5%85%A5%E4%BA%94%E6%88%90%E5%8F%8C/9062547
【 在 cjohny 的大作中提到: 】
: 直接扔尾巴肯定不如四舍五入精确吧?
: 对了,刚才突然想起来,如果bc做不到四舍五入,那就有点儿鸡肋了。
: 整个儿的计算由printf完成不香吗?
--
修改:eskimo1024 FROM 113.81.170.*
FROM 113.81.170.*
估计兄台是搞高性能计算的,我之前都没听过“四舍六入五成双”的说法,孤陋寡闻了。
谢谢您的分享。
【 在 eskimo1024 的大作中提到: 】
: printf 没有任意精度,取决于 double float 的精度
: 我在 bc 的 manual 里没找到明确的取舍规则,如果补上就好了。
: 所以正确的用法是,先用高精度,再按要求截取。
: ...................
--
FROM 216.240.30.*
做化学实验,课本里讲的。
【 在 cjohny 的大作中提到: 】
: 估计兄台是搞高性能计算的,我之前都没听过“四舍六入五成双”的说法,孤陋寡闻了。
: 谢谢您的分享。
--
FROM 113.81.170.*
【 在 eskimo1024 的大作中提到: 】
: 做化学实验,课本里讲的。
是的,这是化学分析中最常用的保留有效数字的做法
--
FROM 117.152.202.*