[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[问题求助] [已解决]gawk命令第一列+0.5为什么数据位数不对了

用下列代码处理的时候遇到个问题
  1. @gawk "NR>0{print $1+0.5,$2+0.3,$3}" 123.txt>123a.txt
复制代码
123.txt
513621.937 2366583.053 8.985
513622.048 2366692.578 3.709
513622.209 2366693.253 4.685
123a.txt
513622 2.36658e+006 8.985
513623 2.36669e+006 3.709
513623 2.36669e+006 4.685
为什么变成这样了,我只是要他加个常数。。。
1

评分人数

    • Batcher: 感谢给帖子标题标注[已解决]字样PB + 2

还是说批处理中数值默认只有6位数吗

TOP

  1. @gawk "NR>0{printf \"%%.3f %%.3f %%s \n\",$1+0.5,$2+0.3,$3}" 123.txt
复制代码
1

评分人数

TOP

回复 3# terse


    谢谢,运行正确了,看来还是要format他才行

TOP

小数的格式由 OFMT 变量控制:
  1. echo 123|gawk -vOFMT="%.10f" "{print $1+0.44444}"
复制代码

TOP

论坛首页出现一个空标题,好强大……

TOP

回复 6# 523066680


    因为没过滤 $0~$9、$' $` 等特殊符号,所以替换的时候就...

TOP

返回列表