免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 4167 | 回复: 10
打印 上一主题 下一主题

科学计算 转换成 整数 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2010-01-11 01:58 |只看该作者 |倒序浏览
20可用积分
什么命令。或着什么方法可以把 科学计算法
3.1188622400e+06
3.9429214000e+06
转换成整数

论坛徽章:
1
荣誉会员
日期:2011-11-23 16:44:17
2 [报告]
发表于 2010-01-11 01:58 |只看该作者
  1. echo 3.1188622400e+06 |awk '{printf("%d\n",$0)}'
复制代码

论坛徽章:
0
3 [报告]
发表于 2010-01-11 02:39 |只看该作者

回复 #1 selboo 的帖子

bc

论坛徽章:
0
4 [报告]
发表于 2010-01-11 02:59 |只看该作者

  1. #!/usr/bin/perl

  2. use strict;
  3. use warnings;


  4. sub expand {
  5.     my $n = shift;
  6.     $n =~ /^(\d)\.(.*)e(\-|\+)0*(.*)$/;
  7.     my @array = ($1, $2, $3, $4);
  8.     if ($array[2] =~ /\+/) {
  9.         print  $n+0, "\n";
  10.     }elsif ($array[2] =~ /\-/) {
  11.         $array[1] =~ s/0//g;
  12.         my $zero = "0"x($array[3]-1);
  13.         print "0.$zero$array[0]$array[1]\n";
  14.     }
  15. }

  16. my $num = "3.9429214000e-06";
  17. expand($num);
复制代码

没事做 帮你写一个-v-

论坛徽章:
33
ChinaUnix元老
日期:2015-02-02 08:55:39CU十四周年纪念徽章
日期:2019-08-20 08:30:3720周年集字徽章-周	
日期:2020-10-28 14:13:3020周年集字徽章-20	
日期:2020-10-28 14:04:3019周年集字徽章-CU
日期:2019-09-08 23:26:2519周年集字徽章-19
日期:2019-08-27 13:31:262016科比退役纪念章
日期:2022-04-24 14:33:24
5 [报告]
发表于 2010-01-11 09:39 |只看该作者

  1. printf "%f\n" 3.1188622400e+06
复制代码

论坛徽章:
0
6 [报告]
发表于 2010-01-14 12:14 |只看该作者
echo 3.1188622400e+06 |awk '{printf("%d\n",$0)}'
3118862

如何保留小数点后面的所有数字
===================================
另一个 如何 2831381.3263 数字 保留 2 位小数点 ,四舍五入。。。。

感谢

论坛徽章:
1
荣誉会员
日期:2011-11-23 16:44:17
7 [报告]
发表于 2010-01-14 14:10 |只看该作者
四舍五入的例子

  1. 14:06:08 root@ST-TEST:[/]#echo 3.1188626400e+06 |awk '{printf("%d\n",$0+0.5)}'
  2. 3118863
  3. 14:07:04 root@ST-TEST:[/]#echo 3.1188622400e+06 |awk '{printf("%d\n",$0+0.5)}'
  4. 3118862
  5. 14:07:37 root@ST-TEST:[/]#
复制代码

论坛徽章:
1
荣誉会员
日期:2011-11-23 16:44:17
8 [报告]
发表于 2010-01-14 14:11 |只看该作者
小数的例子
  1. 14:07:37 root@ST-TEST:[/]#echo 3.1188622400e+06 |awk '{printf("%f\n",$0)}'
  2. 3118862.240000
  3. 14:10:02 root@ST-TEST:[/]#
复制代码

论坛徽章:
0
9 [报告]
发表于 2010-01-14 14:28 |只看该作者

回复 #6 selboo 的帖子

[root@Mylinux tmp]# echo 3.114456e+2 | awk '{printf "%f\n",$0}'      
311.445600
[root@Mylinux tmp]# echo 3.114456e+2 | awk '{printf "%.1f\n",$0}'   1位小数
311.4
[root@Mylinux tmp]# echo 3.114456e+2 | awk '{printf "%.2f\n",$0}'   2位
311.45
[root@Mylinux tmp]# echo 3.114456e+2 | awk '{printf "%.3f\n",$0}'   3位
311.446

论坛徽章:
0
10 [报告]
发表于 2010-01-14 21:41 |只看该作者
感谢各位
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP