shell比較浮點數和整數
今天有一個朋友忽然問我在shell中,如何比較浮點數和整數,倒是把我問的一楞,在工作中確實沒有遇到這個場景。我們也知道,在shell中數字的計算通常都會轉換成整數,比如說1.1和1會被認為是一樣的。這麽一來,我們就不能直接通過gt或者lt等方式來進行比較。雖然沒遇到過,但我們也知道,這個比較肯定也不會很難。簡單的記錄下以作備用。
下面是一個常規寫法的示例:
if [ 1.1 -gt 1 ];then echo "OK" fi
直接會拋出如下異常:
line 3: [: 1.1: integer expression expected
正確的寫法如下:
if [ `echo "1.1 > 1" | bc` -eq 1 ];then echo "OK" fi
shell比較浮點數和整數
相關推薦
shell比較浮點數和整數
ssi 工作 示例 一個 style 朋友 shell code nbsp 今天有一個朋友忽然問我在shell中,如何比較浮點數和整數,倒是把我問的一楞,在工作中確實沒有遇到這個場景。我們也知道,在shell中數字的計算通常都會轉換成整數,比如說1.1和1會被認為是一樣
python 浮點數和整數的比較
舉個栗子: #!/usr/bin/env python # encoding: utf-8 a = 10 b = 10 c = 100 d = 100 e = 10.0 f = 10.0 print(a is b) print(c is d) print(e
寫一段程式,比較浮點數和零的值得大小
分析:無論是float還是double型別的變數,都是有精度限制的,所以一定要避免將浮點變數用“==”或者“=”與數字比較,應設法轉化成“>=”或者“<=”的形式。 應當將if(x==0.0)轉化為 if((x >= -EPSINON)&&
java正則判斷是否是數字(浮點數和整數)
public static boolean isNumber(String str) { //採用正則表示式的方式來判斷一個字串是否為數字,這種方式判斷面比較全 //可以
shell例項淺談之十檢測整數、浮點數和日期數的合法性
一、問題 實際工作中,經常會碰到對數值的檢測,在此將檢測整數、浮點數和日期的合法性綜合在一起,總結各種不同的檢測方法。特別是日期總結了shell處理日期非常好的方法,可以借鑑使用,每個函式都可以根據需要獨立提取出來。 二、詳解 (1)檢測輸入整數的合法性
[Python] Python資料型別(一) 整數、浮點數和字串
1.識別符號和關鍵字: 為物件引用賦予的名稱稱為識別符號,有效的識別符號包括引導字元和後續字元,只要是Unicode編碼的字母,都可以充當引導字元,後續字元可以是數字,下劃線,或任意非空字元; 1.識別符號大小寫敏感; 2.識別符號不能使用關鍵字; 3.
MySQL浮點數和定點數
val 1.2 create tab 最好 因此 如果 包括 操作 MySQL 分為兩種方式:浮點數和定點數。浮點數包括 float(單精度)和 double(雙精度),而定點數則只有 decimal 一種表示。定點數在 MySQL 內部以字符串形式存放,比浮點數更精確,適
java 浮點數轉整數精度處理
System.out.println("------case1------"); BigDecimal bigDecimal = new BigDecimal(37.98); System.out.println(bigDecimal); //37.9799999999999968736
js中二進位制浮點數和四捨五入錯誤
js採用IEEE-754浮點數表示法(幾乎所有現代程式語言採用),這是一種二進位制表示法,可以精確的表示分數如 1/2、1/4、1/8和1/1024。但遺憾的是我們經常用的分數(特別是金融方面)都是十進位制分數1/10、1/100等。二進位制浮點數表示法並不能精確表示累0.1這簡單的數字。
浮點數轉化整數
浮點數轉化成整數,就有以下四種情況。 1.直接轉化 #include<stdio.h> int main() { float f = 1.5; int a; a=(int)f; printf("a=%d",a); return
浮點數和定點數的相互轉換(浮點數量化為定點)
1. 這篇部落格將要討論什麼? 說來慚愧,作為計算機科班出身的人,計算機基礎知識掌握並不紮實,這裡的基礎指的是計算機體系結構中的內容,諸如資料的表示和處理,如float的表示和運算等。看《CSAPP》方知人家老外把這個東西當成重中之重,大量詳細的原理介紹,並配
如何提高浮點數變整數的精度
轉載請註明出處:http://blog.csdn.net/qq_26093511/article/details/52884497 在我們的產品設計中,經常會遇到浮點數變整數的時候,那麼,我們首先看看,浮點數變整數的精度如何? 1、分別定義一個浮點數26.6和2
C語言基礎: 浮點數轉化整數(向上取整、向下取整)| 求絕對值函式
Objective-C拓展了C,自然很多用法是和C一致的。比如浮點數轉化成整數,就有以下四種情況。 1.簡單粗暴,直接轉化 float f = 1.5; int a;a = (int)f; NSLog("a = %d",a); 輸出結果是1。(int)是強制型別轉化,丟棄浮點數的小數部分。
poi 解析excel 浮點數跟整數的讀取
我現在做資料匯入,用poi解析excel,現在遇到一個問題,因為poi解析到的數值型別的資料,預設會轉成double型別,我判斷如果型別是CELL_TYPE_NUMERIC,想做特殊處理,現在有兩個問題,請教一下大家: 1.這一列裡可能有整數,也可能有浮點數,整數的,讀取出來,要去點後邊的".0",小數是
第五課 第六課 浮點數和逐次近似 牛頓法、列表簡介
python有兩種數字型別:整型,任意精度整數 a=2**1000=。。。。。L l代表內部長格式,處理長整數效率低 分界線大概是20億左右 b=2**999,那麼a/b=2L,一旦數字加上了L,就別想還原了 float 型 x=0.1 列印x 則會出現0.1000000
我去,臉皮厚啊,你竟然使用==比較浮點數?
先看再點贊,給自己一點思考的時間,思考過後請毫不猶豫微信搜尋【沉默王二】,關注這個長髮飄飄卻靠才華苟且的程式設計師。本文 GitHub github.com/itwanger 已收錄,裡面還有技術大佬整理的面試題,以及二哥的系列文章。 老讀者都知道了,我在九朝古都洛陽的一家小作坊式的公司工作,身兼數職
Java如何正確比較浮點數
看下面這段程式碼,將 d1 和 d2 兩個浮點數進行比較,輸出的結果會是什麼? ```java double d1 = .1 * 3; double d2 = .3; System.out.println(d1 == d2); ``` 按照正常邏輯來看,d1經過計算之後的結果應該是`0.3`,最後列印的結
輸入一個浮點數,分別返回該數的整數部分和小數部分_指針實現
split AI OS 部分 sin ati ostream col using 輸入一個浮點數,分別返回該數的整數部分和小數部分 由於同時返回整數部分和小數部分,return 語句只能返回一個值,可以采用指針實現雙向傳遞 C++代碼如下: 1 #include
整數和浮點數加法
浮點數 bsp class col ++ diff turn clas -i //本來想著將浮點數分成兩部分,然後進行整數加法,唉 還是算了,太麻煩了,下面這樣寫就是冗余了很多。string floatAdd(string &s1, string &s2)
談談JavaScript的算數運算、二進位制浮點數舍入誤差及比較、型別轉換和變數宣告提前問題
在《JavaScript權威指南》一書第三章節“型別、值和變數”中,作者詳細介紹了Javascript的數字、文字、布林值等型別,全域性物件,包裝物件,型別轉換,變數作用域等概念。其中有3個地方需要我們在使用過程中引起注意,可能稍不留神就犯錯: 1)算數運算與浮點數比較問題 2)