婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > Linux下科學計數(shù)法(e)轉化為數(shù)字的方法

Linux下科學計數(shù)法(e)轉化為數(shù)字的方法

熱門標簽:湖北孝感如何辦理 輝縣市地圖標注 北京電銷機器人對市場的影響 外呼系統(tǒng)的合法性 房產證地圖標注的兩個面積 地圖標注x是啥意思 武漢語音電銷機器人加盟 同花順電話機器人微信 威海電銷外呼系統(tǒng)好用嗎

科學計數(shù)法使用e標識數(shù)值,將科學計算學轉化為數(shù)字的思路:按e右邊的數(shù)字移動小數(shù)點位數(shù)。e右邊的數(shù)字如果是負數(shù),則向左移動小數(shù)點。示例如下:

1.2345678e2 = 123.45678
1.2345678e-2 = 0.012345678
1.7615562e+06 = 1761556.2
1.87982e7 = 18798200
1e3 = 1000

那么在shell中,如何轉化科學計數(shù)法為數(shù)字呢,方法如下:這里以"1.7615562e+06" (或者1.7615562e6)為示例:

[root@kevin ~]# echo "1.7615562e6"| gawk '$1=strtonum($1)'
1.76156e+06

1)科學計數(shù)法轉為十進制

[root@kevin ~]# printf "%f" 1.7615569e+06
1761556.900000
 
[root@kevin ~]# echo "1.7615569e+06"| awk '{printf("%f",$0)}' 
1761556.900000
 
[root@kevin ~]# echo "1.7615569e+03"| awk '{printf("%f",$0)}'
1761.556900
 
[root@kevin ~]# echo "1.7615569e+04"| awk '{printf("%f",$0)}'
17615.569000
 
[root@kevin ~]# echo "1.7615569e-6"| awk '{printf("%f",$0)}'
0.000002
 
[root@kevin ~]# echo "1.7615569e-4"| awk '{printf("%f",$0)}'
0.000176
 
[root@kevin ~]# echo "1.7615569e-3"| awk '{printf("%f",$0)}'
0.001762
 
[root@kevin ~]# echo "1.7615569e-2"| awk '{printf("%f",$0)}'
0.017616

需要注意: 這種方法,轉化結果中小數(shù)點后面都保留6位:
1)e后面的數(shù)字若是正數(shù),則小數(shù)點后面要保留6位,不夠的話,用0補上。
2)e后面的數(shù)字若是負數(shù),則小數(shù)點后面要保留6位,多的話,此時按照四舍五入,保留6位。

2)科學計數(shù)法轉為十進制并保留兩位小數(shù)

[root@kevin ~]# echo "1.7615569e+06"| awk '{printf("%.2f",$0)}'  
1761556.90

保留三位小數(shù)

[root@kevin ~]# echo "1.7615569e+06"| awk '{printf("%.3f",$0)}'  
1761556.900

3)科學計數(shù)法轉為十進制并取整

[root@kevin ~]# echo "1.7615569e+06"|awk '{printf("%d",$0)}' 
1761556
 
[root@kevin ~]# echo "1.7615569e3"|awk '{printf("%d",$0)}'  
1761
 
[root@kevin ~]# echo "1.7615569e02"|awk '{printf("%d",$0)}' 
176

4)科學計數(shù)法轉十進制并四舍五入取整

[root@kevin ~]# echo "1.7615569e+06"| awk '{printf("%d",$0+0.5)}' 
1761557
 
[root@kevin ~]# echo "1.7615563e+06"| awk '{printf("%d",$0+0.5)}' 
1761556

5)如何將小數(shù)點后無用的0去掉, 可以參考: 日常運維的Shell腳本中截取字符串的做法,即用變量擴展的方式

[root@kevin ~]# echo "1.7615569e+06"| awk '{printf("%f",$0)}'
1761556.900000
 
[root@kevin ~]# var=$(echo "1.7615569e+06"| awk '{printf("%f",$0)}')
[root@kevin ~]# echo ${var%%0*}
1761556.9

或者使用sed方法也可以

[root@kevin ~]# echo "1.7615569e+06"| awk '{printf("%f",$0)}'   
1761556.900000
 
[root@kevin ~]# var=$(echo "1.7615569e+06"| awk '{printf("%f",$0)}')
[root@kevin ~]# echo "$var"|sed 's/0*$//'
1761556.9
 
[root@kevin ~]# echo "1.7615569e+06"| awk '{printf("%f",$0)}'| sed 's/0*$//'
1761556.9

6)sed去除掉小數(shù)點之后的字符

[root@kevin ~]# echo "kevin.123"|sed "s/\.*//g"
kevin123
 
\..*代表了小數(shù)點之后的1到多個
[root@kevin ~]# echo "kevin.123"|sed "s/\..*//g"
kevin
 
 
[root@kevin ~]# echo "kevin_123"|sed "s/\_*//g"
kevin123
 
[root@kevin ~]# echo "kevin_123"|sed "s/\_.*//g"
kevin

命令解釋:
*代表0到多個。故\.*只能替換掉小數(shù)點變成空。\_*同理。
.*代表1到多個。故\..*將小數(shù)點后的全部去掉了。\_.*同理。

7)shell中的數(shù)字計算說明

 1)bc方法
bc是比較常用的linux計算工具了,而且支持浮點運算:
[root@kevin ~]# a=`echo 1+1 | bc`
[root@kevin ~]# echo $a
2
 
這種方法沒法解決浮點數(shù)運算的精度問題,如下幾種浮點數(shù)計算情況就傻X了!
[root@kevin ~]# a=`echo 1+1 | bc`
[root@kevin ~]# echo $a
2
[root@kevin ~]# b=`echo "1.2*1.2" | bc`
[root@kevin ~]# echo $b
1.4
[root@kevin ~]# c=`echo "5.0/3.0" | bc`
[root@kevin ~]# echo $c
1
[root@kevin ~]# d=`echo "scale=2;5.0/3.0" | bc`
[root@kevin ~]# echo $d
1.66
[root@kevin ~]# e=`echo "scale=2;5.0/6.0" | bc`
[root@kevin ~]# echo $e
.83
 
2)expr方法
不支持浮點數(shù)計算,這是個坑,而且要注意數(shù)字與運算符中的空格。
[root@kevin ~]# a=`expr 1+1`
[root@kevin ~]# echo $a
1+1
[root@kevin ~]# a=`expr 1 + 1`
[root@kevin ~]# echo $a
2
[root@kevin ~]# b=`expr 10 / 2`
[root@kevin ~]# echo $b
5
 
3)$(())方法
同expr,不支持浮點數(shù)運算
[root@kevin ~]# a=$((1+1))
[root@kevin ~]# echo $a
2
[root@kevin ~]# b=$((1 + 3 ))
[root@kevin ~]# echo $b
4
 
4)let方法
不支持浮點數(shù)運算,而且不支持直接輸出,只能賦值
[root@kevin ~]# let a=1+1
[root@kevin ~]# echo $a
2
[root@kevin ~]# let b=50/5
[root@kevin ~]# echo $b
10
[root@kevin ~]# let c=1.2*2
-bash: let: c=1.2*2: syntax error: invalid arithmetic operator (error token is ".2*2")
 
5)awk方法
普通的運算:
[root@kevin ~]# a=`echo | awk '{print 1.0/2.0}'`
[root@kevin ~]# echo $a
0.5
 
控制精度:
[root@kevin ~]# b=`echo | awk '{printf("%.2f",1.0/2.0)}'`
[root@kevin ~]# echo $b
0.50
 
傳遞參數(shù):
[root@kevin ~]# c=`echo | awk -v a=1 -v b=3 '{printf("%.4f",a/b)}'`
[root@kevin ~]# echo $c
0.3333
 
awk結合BEGIN(小數(shù)點后面保留6位)
[root@ss-server ~]# awk 'BEGIN{printf "%.2f%%\n",(87/500)*100}'
17.40%
[root@ss-server ~]# awk 'BEGIN{printf "%.2f%%\n",(100/300)*100}'
33.33%

綜合來看,還是awk的方法最靠譜,其他的方式都有相應問題。所以推薦在日常維護場景下使用awk來搞數(shù)學計算。

到此這篇關于Linux下科學計數(shù)法(e)轉化為數(shù)字的方法 的文章就介紹到這了,更多相關Linux e轉化為數(shù)字內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • linux shell實現(xiàn)判斷輸入的數(shù)字是否為合理的浮點數(shù)
  • 101個shell腳本 猜數(shù)字游戲代碼
  • Shell中判斷字符串是否為數(shù)字的6種方法分享
  • Shell腳本中判斷變量為數(shù)字的3種方法
  • Shell腳本實現(xiàn)的猜數(shù)字小游戲
  • PowerShell中把IP轉換為長整形數(shù)字的方法
  • shell實現(xiàn)數(shù)字打印從100到200的數(shù)
  • shell字符串比較判斷是否為數(shù)字

標簽:蚌埠 麗江 安康 迪慶 紹興 武威 西寧 日喀則

巨人網絡通訊聲明:本文標題《Linux下科學計數(shù)法(e)轉化為數(shù)字的方法》,本文關鍵詞  Linux,下,科學,計數(shù),法,轉,;如發(fā)現(xiàn)本文內容存在版權問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內容系統(tǒng)采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Linux下科學計數(shù)法(e)轉化為數(shù)字的方法》相關的同類信息!
  • 本頁收集關于Linux下科學計數(shù)法(e)轉化為數(shù)字的方法的相關信息資訊供網民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    亚洲成va人在线观看| 一区二区三区av电影| 中文字幕中文在线不卡住| 亚洲精选在线视频| 日韩av不卡在线观看| 国产精品一区免费视频| 亚洲婷婷在线视频| 日本不卡视频在线| 91丨九色porny丨蝌蚪| 日韩一区二区不卡| 一区二区成人在线观看| 国产99精品在线观看| 欧美乱熟臀69xxxxxx| 中文字幕亚洲电影| 国产一区二区三区精品视频| 91超碰这里只有精品国产| 日本一区二区三区电影| 麻豆91精品91久久久的内涵| 91久久一区二区| 在线观看网站黄不卡| 欧美亚洲综合色| 欧美性xxxxxx少妇| 男女视频一区二区| 9i在线看片成人免费| 久久色成人在线| 免费观看久久久4p| 欧美精品自拍偷拍动漫精品| 综合色天天鬼久久鬼色| 99精品在线免费| 中文字幕一区二区三区不卡| 国产黄色精品视频| 亚洲精品一区二区三区香蕉| 麻豆国产一区二区| 国产精品一二一区| 国产色91在线| 亚洲综合色丁香婷婷六月图片| 一区二区视频免费在线观看| 97久久超碰精品国产| 欧美亚州韩日在线看免费版国语版| 91精品国产色综合久久不卡蜜臀 | 欧美成人官网二区| 日韩va欧美va亚洲va久久| 欧美日韩美少妇| 午夜欧美在线一二页| 欧美日韩精品欧美日韩精品一| 欧美精品一区二区三区在线| 久久成人免费网站| 久久久亚洲国产美女国产盗摄| 亚洲人成伊人成综合网小说| 99精品久久久久久| 精品国产电影一区二区| 国产乱一区二区| 中文字幕在线观看不卡视频| 青青草伊人久久| 欧美va亚洲va在线观看蝴蝶网| 艳妇臀荡乳欲伦亚洲一区| 欧美在线一区二区| 麻豆精品久久久| 国产精品沙发午睡系列990531| 日本亚洲电影天堂| 久久综合中文字幕| 91丨porny丨蝌蚪视频| 亚洲线精品一区二区三区| 日韩一区二区麻豆国产| 亚洲精品成a人| 国产a久久麻豆| 一区二区三区四区亚洲| 福利一区在线观看| 亚洲最新视频在线观看| 成人性视频免费网站| 亚洲精品免费在线| va亚洲va日韩不卡在线观看| 欧美videossexotv100| 国产成人在线看| 亚洲卡通欧美制服中文| 成人毛片视频在线观看| 亚洲午夜在线视频| 国产午夜久久久久| 看国产成人h片视频| 最新不卡av在线| 日韩精品一区二区三区四区视频| 亚洲婷婷综合久久一本伊一区 | 免费成人在线视频观看| 久久众筹精品私拍模特| 色系网站成人免费| 亚洲成人动漫在线免费观看| 久久精品综合网| 欧美日韩一区精品| 国产资源在线一区| 亚洲一区在线播放| 国产精品久久久久久久岛一牛影视 | 天天影视色香欲综合网老头| 欧美午夜不卡视频| 91色porny在线视频| 国产乱码精品1区2区3区| 三级久久三级久久| 亚洲欧洲性图库| 精品国产123| 国产精品中文字幕一区二区三区| 日韩精品一区二区三区中文精品| 亚洲第一av色| 久久久久久久综合色一本| 色偷偷一区二区三区| 国产精品99久| 国产视频在线观看一区二区三区| 美女视频免费一区| 国产精品电影院| 精品中文av资源站在线观看| 亚洲欧美另类图片小说| 精品国产乱码久久| 欧美日韩精品一二三区| 97久久久精品综合88久久| 亚洲欧洲精品天堂一级| 日韩欧美电影在线| 欧美精品在线观看一区二区| 国产a久久麻豆| 国内一区二区在线| 国产精品女主播av| 欧美特级限制片免费在线观看| 亚洲人成人一区二区在线观看| 国产成人精品www牛牛影视| 日本欧美一区二区三区乱码| 日韩欧美一区二区三区在线| 色综合色狠狠综合色| 国产精一品亚洲二区在线视频| 国产婷婷色一区二区三区四区| 成人99免费视频| 国产精品一区二区果冻传媒| 亚洲国产精品精华液2区45| 成人18视频日本| 国产成人免费视频网站| 国产一区日韩二区欧美三区| 欧美精品一区二区在线观看| 337p粉嫩大胆噜噜噜噜噜91av | 欧美tk—视频vk| 久久亚洲精品小早川怜子| 波多野洁衣一区| 91美女视频网站| 久久国产尿小便嘘嘘尿| 亚洲综合视频在线| 亚洲一线二线三线久久久| 视频一区中文字幕| 亚洲地区一二三色| 国产真实乱子伦精品视频| 亚洲男人的天堂一区二区| 午夜av一区二区| 日日夜夜精品视频天天综合网| 亚洲色图色小说| 最新日韩av在线| 麻豆精品一区二区av白丝在线| 亚洲男人的天堂一区二区| 亚洲一区在线播放| 91精品国产一区二区三区香蕉| 成人av在线播放网址| 国产宾馆实践打屁股91| 日韩福利电影在线观看| 久久99国产乱子伦精品免费| 国产福利一区二区三区视频 | 欧美视频一区二| 欧美挠脚心视频网站| 国产精品18久久久久| 不卡一区二区中文字幕| 欧美日韩精品欧美日韩精品一综合| 国产剧情在线观看一区二区| 成人精品小蝌蚪| 欧美性色aⅴ视频一区日韩精品| 国产一区二区三区精品视频| 国产伦理精品不卡| 欧美午夜精品一区二区蜜桃| 91精品国产综合久久久久久漫画| 丁香网亚洲国际| 欧美影院精品一区| 欧美一级理论片| 久久夜色精品国产噜噜av| 国产精品久久久久aaaa樱花| 亚洲精品视频在线观看网站| 另类综合日韩欧美亚洲| 青青草国产精品亚洲专区无| 成人av小说网| 在线不卡免费欧美| 久久久国产综合精品女国产盗摄| 精品婷婷伊人一区三区三| 日韩欧美在线影院| 日韩国产一区二| 91尤物视频在线观看| 日韩精品在线网站| 亚洲综合免费观看高清完整版 | 99精品久久99久久久久| aaa欧美日韩| 欧美成人aa大片| 欧美国产精品专区| 国产亚洲婷婷免费| 污片在线观看一区二区| 亚洲欧美日韩国产综合在线| 久久精品国产99国产| 欧美aaaaaa午夜精品| 从欧美一区二区三区| 777欧美精品| 一区二区三区四区激情| 成人爱爱电影网址|