欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

linux shell實現(xiàn)判斷輸入的數(shù)字是否為合理的浮點數(shù)

 更新時間:2016年08月14日 11:06:57   投稿:mdxy-dxy  
這篇文章主要介紹了linux shell實現(xiàn)判斷輸入的數(shù)字是否為合理的浮點數(shù),需要的朋友可以參考下

這個shell是來判斷輸入的數(shù)字是否為合理的浮點數(shù)

實現(xiàn)代碼如下:

#!/bin/sh

# validfloat -- Tests whether a number is a valid floating-point value.
# Note that this script cannot accept scientific (1.304e5) notation.

# To test whether an entered value is a valid floating-point number, we
# need to split the value at the decimal point. We then test the first part
# to see if it's a valid integer, then test the second part to see if it's a
# valid >=0 integer, so -30.5 is valid, but -30.-8 isn't.

. validint  # Bourne shell notation to source the validint function

validfloat()
{
 fvalue="$1"

 if [ ! -z $(echo $fvalue | sed 's/[^.]//g') ] ; then

  decimalPart="$(echo $fvalue | cut -d. -f1)"
  fractionalPart="$(echo $fvalue | cut -d. -f2)"

  if [ ! -z $decimalPart ] ; then
   if ! validint "$decimalPart" "" "" ; then
    return 1
   fi
  fi

  if [ "${fractionalPart%${fractionalPart#?}}" = "-" ] ; then
   echo "Invalid floating-point number: '-' not allowed \
    after decimal point" >&2
   return 1
  fi
  if [ "$fractionalPart" != "" ] ; then
   if ! validint "$fractionalPart" "0" "" ; then
    return 1
   fi
  fi

  if [ "$decimalPart" = "-" -o -z "$decimalPart" ] ; then
   if [ -z $fractionalPart ] ; then
    echo "Invalid floating-point format." >&2 ; return 1
   fi
  fi

 else
  if [ "$fvalue" = "-" ] ; then
   echo "Invalid floating-point format." >&2 ; return 1
  fi

  if ! validint "$fvalue" "" "" ; then
   return 1
  fi
 fi

 return 0
}

notice:
1): if [ ! -z $(echo $fvalue | sed 's/[^.]//g') ] 將輸入,以.分成整數(shù)和小數(shù)部分。
2):if [ "${fractionalPart%${fractionalPart#?}}" = "-" ] 判斷小數(shù)點后面如果接‘-'號,這輸出字符不合法
3)接著的一些if語句就是判斷小數(shù)及整數(shù)部分合不合法
4)由于 valiint函數(shù)沒給出,腳本不能完全執(zhí)行,valiint函數(shù)是判斷字符串是否全為數(shù)字.

相關(guān)文章

  • 解決linux的redhat版上mysql字符亂碼的問題

    解決linux的redhat版上mysql字符亂碼的問題

    下面小編就為大家?guī)硪黄鉀Qlinux的redhat版上mysql字符亂碼的問題。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-06-06
  • 詳談Linux寫時拷貝技術(shù)(copy-on-write)必看篇

    詳談Linux寫時拷貝技術(shù)(copy-on-write)必看篇

    下面小編就為大家?guī)硪黄斦凩inux寫時拷貝技術(shù)(copy-on-write)必看篇。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-07-07
  • Shell腳本實戰(zhàn)之DNS主從同步腳本實例

    Shell腳本實戰(zhàn)之DNS主從同步腳本實例

    這篇文章主要介紹了Shell腳本實戰(zhàn)之DNS主從同步腳本實例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-10-10
  • 用于檢測進(jìn)程的shell腳本代碼小結(jié)

    用于檢測進(jìn)程的shell腳本代碼小結(jié)

    本文介紹一段shell腳本,它可以檢測某進(jìn)程或某服務(wù)是否正在運(yùn)行,然后以郵件通知。有需要的朋友參考下
    2013-11-11
  • Shell腳本從文件中逐行讀取內(nèi)容的幾種方法實例

    Shell腳本從文件中逐行讀取內(nèi)容的幾種方法實例

    今天小編就為大家分享一篇關(guān)于Shell腳本從文件中逐行讀取內(nèi)容的幾種方法實例,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-03-03
  • Linux下使用Shell腳本實現(xiàn)ftp的自動上傳下載的代碼小結(jié)

    Linux下使用Shell腳本實現(xiàn)ftp的自動上傳下載的代碼小結(jié)

    如何實現(xiàn)在ftp自動上傳下載文件腳本呢?想必還有很多朋友都不太了解吧,下面是ftp自動上傳下載文件腳本方法,希望對朋友們有些幫助
    2013-02-02
  • 利用Linux中的crontab實現(xiàn)分布式項目定時任務(wù)功能

    利用Linux中的crontab實現(xiàn)分布式項目定時任務(wù)功能

    crond是Linux用來定期執(zhí)行程序的命令.這篇文章主要介紹了利用Linux中的crontab實現(xiàn)分布式項目定時任務(wù),需要的朋友可以參考下
    2018-01-01
  • Shell之免交互的實現(xiàn)

    Shell之免交互的實現(xiàn)

    本文主要介紹了Shell之免交互的實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-07-07
  • 自動重啟服務(wù)的shell腳本代碼

    自動重啟服務(wù)的shell腳本代碼

    公司tomcat服務(wù)器有個過一段時間自動會掛的bug一直沒能解決,掛的時候還要手動重啟tomcat,于是決定寫個腳本讓它定時檢測故障自動重啟吧
    2013-06-06
  • Shell[[]]檢測某個條件是否成立

    Shell[[]]檢測某個條件是否成立

    本文主要介紹了Shell[[]]檢測某個條件是否成立,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-01-01

最新評論