Mình đang muốn kiểm tra kiểu dữ liệu của 1 biến nhập vào không phải là kiểu số thì phải làm sao mọi người. Ai rành chỉ với.
Announcement
Collapse
No announcement yet.
Kiểm tra kiểu dữ liệu trong LT Shell
Collapse
X
-
Tags: None
-
bạn có thể viết 1 hàm kiểm tra biến nhập vào bằng cách đổi biến nhập vào sang byte (Encoding.Ascii.GetBytes) rồi so sánh với bảng mã ascii xem biến được đổi có nằm trong khoảng số của mã ascii hay không, theo mình nghĩ cách này đơn giản:dreaming::sogood::go:h:
-
Không phải C#. Lập trình Shell mà.Có dạng như thế này:
clear
read -p "a= " a
read -p "b= " b
echo "tong $a + $b: `expr $a + $b`"
echo "hieu $a - $b: $[ $a - $b ]"
tich=`expr $a \* $b`
echo "tich $a * $b: $tich"
thuong=$[ $a / $b ]
echo "thuong $a / $b: $thuong"
Comment
-
Originally posted by 10520273 View PostMình đang muốn kiểm tra kiểu dữ liệu của 1 biến nhập vào không phải là kiểu số thì phải làm sao mọi người. Ai rành chỉ với.
Be different and always different
http://archlinuxvn.org/
http://theslinux.org
http://lab.infosec.xyz
Comment
-
Originally posted by 10520273 View PostVậy thì làm *** biết được một giá trị nhập vào từ bàn phím không phải là kiểu số.Be different and always different
http://archlinuxvn.org/
http://theslinux.org
http://lab.infosec.xyz
Comment
-
Originally posted by 10520058 View Postbiết làm gì ? Nếu muốn số thì declare -i cho nó ( không có số thực). Và mặc định string có giá trị interger là 0. Nếu bạn học qua Python cũng sẽ thấy gần như không có kiểu dữ liệu nữa.
Comment
-
Originally posted by 10520273 View PostBạn có thể giải thích rõ hơn đc k. Nếu được thì code ví dụ cho mình tham khảo với.
echo $(($a+$b))
a=1 ; b=4
echo $(($a+$b))Be different and always different
http://archlinuxvn.org/
http://theslinux.org
http://lab.infosec.xyz
Comment
-
Originally posted by 10520273 View PostTrời đất. Vậy nếu a=" n" thì bắt lỗi như thế nào.PHP Code:if [[ $a=[a-zA-Z] ]] ->> XXX
Be different and always different
http://archlinuxvn.org/
http://theslinux.org
http://lab.infosec.xyz
Comment
-
Originally posted by 10520273 View PostMình đang muốn kiểm tra kiểu dữ liệu của 1 biến nhập vào không phải là kiểu số thì phải làm sao mọi người. Ai rành chỉ với.
One approach is to use a regular expression, like so:
if ! [[ "$yournumber" =~ ^[0-9]+$ ]] ; then
exec >&2; echo "error: Not a number"; exit 1
fi
If the value is not necessarily an integer, consider amending the regex appropriately; for instance:
^[0-9]+([.][0-9]+)?$
Comment
Comment