Chinaunix

标题: awk中printf的问题 [打印本页]

作者: wangjun0220    时间: 2012-12-06 16:51
标题: awk中printf的问题
本帖最后由 wangjun0220 于 2012-12-06 17:43 编辑

童鞋们
我在运行下面的语句的时候为什么会把原来的数值大小给改变呢?
本应该输出的是00014920,为什么会输出是00014919呢?
echo 149.2 |awk -F"|" '{printf("%08d",$1*100)}'

同学们帮帮忙,小弟不胜感激
作者: waker    时间: 2012-12-06 17:12
这个题目很难猜

跳一神


难道是要讨论浮点数的精度问题
作者: dn833    时间: 2012-12-06 17:22
  1. echo 149.2 |awk -F"|" '{printf("%08.f",$1*100)}'
复制代码
跟版主一起算命卜卦哈哈~
作者: wangjun0220    时间: 2012-12-06 17:31
真是一个让我头疼的问题,这个问题我都处理了一天了,也没有见成效!现在改用php写呢,谁知道到printf输出的时候会不会遇到同样的情况!唉回复 2# waker


   
作者: blackold    时间: 2012-12-06 17:36
回复 1# wangjun0220


    里面都没有文件,怎么会改变文件?

   神码。
作者: wangjun0220    时间: 2012-12-06 17:39
你把我写的语句运行一下,应该说是改变了数值的大小了,我写错了,呵呵回复 5# blackold


   
作者: blackold    时间: 2012-12-06 17:45
回复 6# wangjun0220


    明白,关于这个问题,前不久刚刚讨论过,你自己搜一下。
作者: jason680    时间: 2012-12-06 18:05
回复 1# wangjun0220

http://bbs.chinaunix.net/thread-4055919-1-1.html
   
作者: wangjun0220    时间: 2012-12-06 18:09
晓得是怎么回事儿了~谢谢你们。




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2