返回顶部
首页 > 资讯 > 操作系统 >怎么在Linux中金阿红科学计数法(e)转换为数字
  • 662
分享到

怎么在Linux中金阿红科学计数法(e)转换为数字

2023-06-09 12:06:44 662人浏览 独家记忆
摘要

怎么在linux中金阿红科学计数法(e)转换为数字?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。什么是Linux系统Linux是一种免费使用和自由传播的类UNIX操作系统,是一

怎么在linux中金阿红科学计数法(e)转换为数字?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

什么是Linux系统

Linux是一种免费使用和自由传播的类UNIX操作系统,是一个基于POSIX的多用户、多任务、支持多线程和多CPU的操作系统,使用Linux能运行主要的Unix工具软件、应用程序和网络协议。

1)科学计数法转为十进制

[root@kevin ~]# printf "%f" 1.7615569e+061761556.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

需要注意: 这种方法,转化结果中小数点后面都保留6位:
1)e后面的数字若是正数,则小数点后面要保留6位,不够的话,用0补上。
2)e后面的数字若是负数,则小数点后面要保留6位,多的话,此时按照四舍五入,保留6位。

2)科学计数法转为十进制并保留两位小数

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

保留三位小数

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

3)科学计数法转为十进制并取整

[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)科学计数法转十进制并四舍五入取整

[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)如何将小数点后无用的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去除掉小数点之后的字符

[root@kevin ~]# echo "kevin.123"|sed "s/\.*//g"kevin123 \..*代表了小数点之后的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到多个。故\.*只能替换掉小数点变成空。\_*同理。
.*代表1到多个。故\..*将小数点后的全部去掉了。\_.*同理。

7)shell中的数字计算说明

 1)bc方法bc是比较常用的linux计算工具了,而且支持浮点运算:[root@kevin ~]# a=`echo 1+1 | bc`[root@kevin ~]# echo $a2 这种方法没法解决浮点数运算的精度问题,如下几种浮点数计算情况就傻X了![root@kevin ~]# a=`echo 1+1 | bc`[root@kevin ~]# echo $a2[root@kevin ~]# b=`echo "1.2*1.2" | bc`[root@kevin ~]# echo $b1.4[root@kevin ~]# c=`echo "5.0/3.0" | bc`[root@kevin ~]# echo $c1[root@kevin ~]# d=`echo "scale=2;5.0/3.0" | bc`[root@kevin ~]# echo $d1.66[root@kevin ~]# e=`echo "scale=2;5.0/6.0" | bc`[root@kevin ~]# echo $e.83 2)expr方法不支持浮点数计算,这是个坑,而且要注意数字与运算符中的空格。[root@kevin ~]# a=`expr 1+1`[root@kevin ~]# echo $a1+1[root@kevin ~]# a=`expr 1 + 1`[root@kevin ~]# echo $a2[root@kevin ~]# b=`expr 10 / 2`[root@kevin ~]# echo $b5 3)$(())方法同expr,不支持浮点数运算[root@kevin ~]# a=$((1+1))[root@kevin ~]# echo $a2[root@kevin ~]# b=$((1 + 3 ))[root@kevin ~]# echo $b4 4)let方法不支持浮点数运算,而且不支持直接输出,只能赋值[root@kevin ~]# let a=1+1[root@kevin ~]# echo $a2[root@kevin ~]# let b=50/5[root@kevin ~]# echo $b10[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 $a0.5 控制精度:[root@kevin ~]# b=`echo | awk '{printf("%.2f",1.0/2.0)}'`[root@kevin ~]# echo $b0.50 传递参数:[root@kevin ~]# c=`echo | awk -v a=1 -v b=3 '{printf("%.4f",a/b)}'`[root@kevin ~]# echo $c0.3333 awk结合BEGIN(小数点后面保留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%

看完上述内容,你们掌握怎么在Linux中金阿红科学计数法(e)转换为数字的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注编程网操作系统频道,感谢各位的阅读!

--结束END--

本文标题: 怎么在Linux中金阿红科学计数法(e)转换为数字

本文链接: https://lsjlt.com/news/255925.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 怎么在Linux中金阿红科学计数法(e)转换为数字
    怎么在Linux中金阿红科学计数法(e)转换为数字?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。什么是Linux系统Linux是一种免费使用和自由传播的类UNIX操作系统,是一...
    99+
    2023-06-09
  • Linux下科学计数法(e)转化为数字的方法
    科学计数法使用e标识数值,将科学计算学转化为数字的思路:按e右边的数字移动小数点位数。e右边的数字如果是负数,则向左移动小数点。示例如下: 1.2345678e2 = 123.45678 1.2345678e-2...
    99+
    2022-06-03
    Linux e转化为数字 Linux科学计数法转化为数字
  • Golang科学计数法转换string数字输出的实现
    目录1、问题 2、问题修复 3、总结 1、问题 最近接手一个商城运单号模块,接手后发现有部分运单号返回给前端是按照科学计数法的方式返回,如:8.0497183772403904E+...
    99+
    2024-04-02
  • PHP怎么把科学计数格式转化为数字字符串
    这篇文章给大家分享的是有关PHP怎么把科学计数格式转化为数字字符串的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。科学计数格式转化为字符串将一个科学计数格式的数:1.2345678987654321e+30 转化为...
    99+
    2023-06-15
  • 怎么在R语言中怎么切换科学计数法
    怎么在R语言中怎么切换科学计数法?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。options(scipen = 100)# 小数点后100位不使用...
    99+
    2023-06-14
  • 怎么在R语言中为数值取消科学计数法
    本篇文章给大家分享的是有关怎么在R语言中为数值取消科学计数法,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。>#取消科学计数法>options(scipen ...
    99+
    2023-06-14
  • 怎么在python中将数字转换为汉字
    本篇文章为大家展示了怎么在python中将数字转换为汉字,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。python是什么意思Python是一种跨平台的、具有解释性、编译性、互动性和面向对象的脚本语言...
    99+
    2023-06-14
  • 将BigDecimal转成字符串为科学计数法的踩坑记录
    目录BigDecimal转字符串为科学计数法踩坑场景解决案例演示BigDecimal变科学计数法BigDecimal转字符串为科学计数法踩坑 场景 在开发工程中,在金额方面都会定义b...
    99+
    2024-04-02
  • 利用java怎么将数字金额转转换为大写
    这篇文章将为大家详细讲解有关利用java怎么将数字金额转转换为大写,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。将数字金额大写,如下:public class Test { pri...
    99+
    2023-05-31
    java ava
  • 怎么在python中把list转换为数字
    怎么在python中把list转换为数字?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。1、使用for循环解决new_numbers = [];for&nbs...
    99+
    2023-06-15
  • R语言-如何将科学计数法表示的数字转化为文本
    统赛B组我们选择了图书馆课题,获得了数据,一时兴起尝试处理了一下门禁的数据,遇到了一些问题,特此记下,方便以后查阅。 门禁数据分为两个变量,第一列为学号,第二列为进门时间,原本是Ex...
    99+
    2024-04-02
  • 怎么在javascript中将字符串转换为数字
    怎么在javascript中将字符串转换为数字?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。javascript将字符串转为数字的方法:1、使用parseInt()函数转换...
    99+
    2023-06-14
  • 怎么在python中将中文数字转换成阿拉伯数字
    本篇文章为大家展示了怎么在python中将中文数字转换成阿拉伯数字,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。正则表达式提取文本中的数字import rem0 = &...
    99+
    2023-06-08
  • 怎么在php中将数组转换为字符串
    怎么在php中将数组转换为字符串?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。php是什么语言php,一个嵌套的缩写名称,是英文超级文本预处理语言(PHP:Hy...
    99+
    2023-06-14
  • Python中怎么将字符串转换为数字
    可以使用int()函数将字符串转换为整数,使用float()函数将字符串转换为浮点数。示例代码如下:```python# 将字符串转...
    99+
    2023-10-11
    python
  • 怎么在php中将数组转换为json字符串
    本篇文章给大家分享的是有关怎么在php中将数组转换为json字符串,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。php有什么特点1、执行速度快。2、具有很好的开放性和可扩展性。...
    99+
    2023-06-14
  • Oracle中怎么将全角数字转换为半角数字
    Oracle中怎么将全角数字转换为半角数字,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。数据库表 test 字段 id name age 全角...
    99+
    2024-04-02
  • 怎么在C++中将长整型数转换为字符串
    这篇文章将为大家详细讲解有关怎么在C++中将长整型数转换为字符串,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。C++实现将长整型数转换为字符串#include <iostre...
    99+
    2023-06-14
  • 怎么在PHP中将数组数据转换为json
    怎么在PHP中将数组数据转换为json?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。Json的具体形式是:对象对象是一个无序的“‘名称/值'对”集合。一...
    99+
    2023-06-14
  • javascript中怎么将值转换为数字类型
    这篇文章将为大家详细讲解有关javascript中怎么将值转换为数字类型,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。转换为数字类型的方法:1、使用pars...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作