【发布时间】:2013-05-13 12:55:18
【问题描述】:
我有十进制数字存储在字符串中。
"045"或"005"这种方式存储。
在像let A="045"+"009" 这样的算术运算中使用这些数字字符串时,这些数字被视为八进制数,如手册页中所示。
为了将它们视为十进制,我在数字字符串的开头添加了10#
let A="10#045"+"10#123"
但是这个解决方案会在我的 BusyBox(安装在 OpenWRT 上)的 bash 中导致错误 -ash: let: arithmetic syntax error
我的busybox shell还有其他解决方案吗?
注意:该操作应使用let 进行评估,因为我在其他类型的操作(如按位操作)中需要这些数字。
【问题讨论】:
-
你能用
expr代替吗? -
@MichaelGardner 我也想对这些数字使用按位运算。而expr不支持按位运算
标签: linux shell busybox openwrt ash