linux - 如何获取 float 的整数部分?

标签 linux shell floating-point integer

这是我的代码:

float = 10.23444566
awk {printf("%.0f\n", $float)}

我得到的答案是 0。

我只想从中获取值 10。

我正在使用 awk 命令。

最佳答案

试试这个。

float=10.23444566;
printf "%.0f" $float;

在 shell 脚本中,您用于 printf 命令的语法是错误的。您不能像 c 函数那样调用它。

有关详细信息,请参阅手册页。

man printf

 

编辑

如果要使用awk命令,则需要将float值通过管道传递给该命令。请参阅下面的代码。

float=10.23444566;
echo $float | awk  '{printf "%.0f\n", $1}';

关于linux - 如何获取 float 的整数部分?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49185953/

相关文章:

bash - 根据 key 从文件中读取最近的条目

math - float 学坏了吗?

c - 四舍五入为整数

c++ - 用Linux写入文件

python - 我怎样才能修复这个错误

linux - 通过shell脚本编辑一个js文件

linux - 在 Ubuntu 上使用 egrep 返回正则表达式的一部分?

arrays - 比较 Unix 数组中的相邻值

linux - 如何使用 shell 将 2 个或多个 docx 文件合并为单个 docx 文件

java - 针对 SSE2 之前的处理器的 Java 运行时如何实现浮点基本操作?