验证一个数字

时间:2013-09-26 00:27:03

标签: algorithm bash

当使用Luhn's algorithm时,我们需要找出一个数字是否大于10,以便决定是否应该添加数字以继续验证过程。有谁知道如何以一种不是函数的方式将它放在脚本中?

2 个答案:

答案 0 :(得分:1)

如果您的变量为n,则可以测试其${#n}的长度是否大于1,如果是,则将数字相加,否则只需将其传递,例如:

$ n=14; test ${#n} -gt 1 && echo $((${n:0:1} + ${n:1:1})) || echo $n
5
$ n=8; test ${#n} -gt 1 && echo $((${n:0:1} + ${n:1:1})) || echo $n
8

答案 1 :(得分:0)

一个简单的方法: 以模9:

$ echo $(( inputnum % 9 ))

e.g。

$ inputnum=14; echo $(( inputnum % 9 ))
5

$ inputnum=8; echo $(( inputnum % 9 ))
8