16 如何使用bash或其他语言/框架进行整数和浮点计算? 按echo "20+5"字面使用会产生文字“ 20+5”。 25在这种情况下,我可以使用什么命令来获取数字总和? 另外,仅使用bash进行浮点运算的最简单方法是什么?例如,echo $((3224/3807.0))打印0:(。 我正在使用基本命令外壳程序(“命令行”)本身或通过使用命令行中可用的语言来寻找答案。 294 shell command-line arithmetic floating-point calculator
5 如何将浮点数转换为整数? 这是在bash中进行浮点到整数转换的正确方法吗?还有其他方法吗? flotToint() { printf "%.0f\n" "$@" } 47 bash floating-point
2 当前的十进制分隔符是哪一个? 说我有一个POSIX shell脚本 需要在我无法控制的不同系统/环境上运行,并且 需要从遵守语言环境设置的程序发出的字符串中删除小数点分隔符。 如何以最一般的方式检测小数点分隔符? 29 shell posix locale floating-point
3 如何在bash中使用正好2个有效数字格式化浮点数? 我想在bash中用正好两个有效数字打印浮点数(也许使用awk,bc,dc,perl等通用工具)。 例子: 76543应打印为76000 0.0076543应打印为0.0076 在这两种情况下,有效数字分别为7和6。对于类似的问题,我已经阅读了一些答案,例如: 如何在shell中四舍五入浮点数? 浮点变量的Bash限制精度 但是答案集中在限制小数位数(例如bc带scale=2或的printf命令%.2f)上,而不是有效位数上。 有没有一种简单的方法可以用2个有效数字来格式化数字,或者我必须编写自己的函数? 17 bash awk bc floating-point dc
2 如何在shell中四舍五入浮点数? 如何在命令行上正确舍入IEEE 754浮点数? 我想指定输出数字的精度-小数位数。 例如,舍入6.66到精度1应给出6.7。下表中的更多内容: Value Precision Rounded 6.66 0 7 6.66 1 6.7 6.66 2 6.66 6.66 3 6.660 6.666 3 6.666 6.6666 3 6.667 它应该可以在交互式Shell中使用,但理想情况下要足够健壮,以便在生产Shell脚本中使用它。 13 bash command-line arithmetic floating-point
4 bash循环,增量为0.02 我想在bash中以0.02为增量尝试进行for循环 for ((i=4.00;i<5.42;i+=0.02)) do commands done 但这没用。 11 bash for floating-point
2 awk高精度算术 我正在寻找一种方法来告诉awk在替换操作中执行高精度算术。这涉及从文件中读取字段,并以该值的1%增量替换它。但是,我在那里失去了精度。这是问题的简化重现: $ echo 0.4970436865354813 | awk '{gsub($1, $1*1.1)}; {print}' 0.546748 在这里,十进制精度后我有16位数字,但是awk仅给出6位数字。使用printf,我得到相同的结果: $ echo 0.4970436865354813 | awk '{gsub($1, $1*1.1)}; {printf("%.16G\n", $1)}' 0.546748 关于如何获得所需精度的任何建议? 11 awk arithmetic floating-point