shell 浮点数转换为整数。用bc的scale实现

linux下的bc命令可以设置结果的位数,通过 scale.
比如:
$ echo “scale=4; 1.2323293128 / 1.1” | bc -l
1.1202
但是scale只对除法、取余、乘幂有效,比如乘法就无效:
$ echo “scale=4; 1.2323293128 * 1.1” | bc -l
1.3555622440
想了一个回避的方法,就是除以1。
比如:
$ echo “scale=4; (1.2323293128 * 1.1) / 1” | bc -l
1.3555

root@host109:/opt# echo “scale=0; l b a n u m 1 0 ∗ {lba_num_10}* lbanum10{t_rate}”|bc
7501465944.0
root@host109:/opt# echo “scale=1; l b a n u m 1 0 ∗ {lba_num_10}* lbanum10{t_rate}”|bc
7501465944.0
root@host109:/opt# echo “scale=2; l b a n u m 1 0 ∗ {lba_num_10}* lbanum10{t_rate}”|bc
7501465944.0
root@host109:/opt# echo “scale=2;KaTeX parse error: Expected 'EOF', got '#' at position 52: …ot@host109:/opt#̲ echo "scale=2;…{lba_num_10}”|bc
7501465944.0
root@host109:/opt# echo “scale=0;0.5*KaTeX parse error: Expected 'EOF', got '#' at position 48: …ot@host109:/opt#̲ echo "scale=0;…{lba_num_10}”
scale=0;0.515002931888
root@host109:/opt# echo "scale=0;0.5
KaTeX parse error: Expected 'EOF', got '#' at position 50: …ot@host109:/opt#̲ echo "scale=0;{lba_num_10}*${t_rate}/1"|bc
7501465944
root@host109:/opt#

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值