首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >百分比精度( bash )

百分比精度( bash )
EN

Stack Overflow用户
提问于 2014-02-19 03:52:03
回答 3查看 150关注 0票数 1

下面是bash脚本中的罪魁祸首:

代码语言:javascript
复制
bat_percent=`echo "$bat_percent * 100" | bc | sed 's/.00//'`

如果bat_percent不使用100,它就会输出.00。

如果要将其更改为:(移除。加上0)

代码语言:javascript
复制
bat_percent=`echo "$bat_percent * 100" | bc | sed 's/000//'`

甚至:(3 0和a .)

代码语言:javascript
复制
bat_percent=`echo "$bat_percent * 100" | bc | sed 's/000.//'`

输出是100.00

我怎么能把它说成100,同时保持其他百分比,比如87或5呢?

我会随时回复后续报道:)

死后

这是完成的代码,感谢你们的帮助!(还有:别互相投票了!让我们做朋友吧,梅凯?

代码语言:javascript
复制
my_ac_adapt=`ioreg -w0 -l | grep ExternalConnected | awk '{print $5}'` 
cur_power=`ioreg -w0 -l | grep CurrentCapacity | awk '{print $5}'` 
max_power=`ioreg -w0 -l | grep MaxCapacity | awk '{print $5}'` 
bat_percent=`echo "scale=2;$cur_power / $max_power" | bc` 
bat_percent=`echo "$bat_percent * 100" | bc | sed 's/\..*//'` 
if [ "$my_ac_adapt" == "Yes" -a "$bat_percent" == "100" ] 
then 
echo "Charged" 
elif [ "$my_ac_adapt" == "Yes" -a "$bat_percent" != "100" ] 
then 
echo "Charging: $bat_percent%" 
else 
echo "Battery: $bat_percent%" 
fi 

此代码获取电池的当前状态,并通知您:)

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2014-02-19 04:10:56

当您使用sed 's/.00//'时,它基本上意味着匹配任何字符(.的意思),然后是00,并将其替换为零。因此,当您的输出中有100.00时,sed适当地从它中移除100并给出.00

您真正需要的是用\来转义特殊字符。

... | sed 's/\..*//'

票数 3
EN

Stack Overflow用户

发布于 2014-02-19 04:05:15

试试这个:

代码语言:javascript
复制
bat_percent=`echo "$bat_percent * 100" | bc | sed 's/\.00//'`

sed命令的问题是,您没有将.转义为\.来使用它作为文字;正则表达式中的未转义.匹配任何字符。

如果输入是"100.00",则/.00/100匹配(因为.匹配任何字符,匹配1),而不是.00

或者,如果您总是只想删除小数部分,请尝试如下:

代码语言:javascript
复制
bat_percent=$(bc <<<"$bat_percent * 100" | cut -d'.' -f 1)
票数 2
EN

Stack Overflow用户

发布于 2014-02-19 04:16:45

也许这个

代码语言:javascript
复制
$ bat_percent=.999

$ awk "BEGIN{printf \"%d\",$bat_percent*100}"
99

代码语言:javascript
复制
$ bat_percent=1.000

$ awk "BEGIN{printf \"%d\",$bat_percent*100}"
100
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21870646

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档