在bash脚本中,我有1个这样的脚本:
n1 = 1
n0 = 59
# compute p1
p1=$((n1/n0))
echo "p1 = $p1"
我希望我的输出是p1=1/59=0.016949153,但实际上,输出是p1=0
那么,如何解决它。请帮帮我
您可以使用bc
获得任意精度的数学:
pax> n1=355 ; n0=113
pax> p1=$(echo "scale=50;$n1/$n0" | BC_LINE_LENGTH=9999 bc) ; echo $p1
3.14159292035398230088495575221238938053097345132743
为了获得更长的结果,bc
的行长度停止了恼人的换行行为。
如果你有像我一样的反向波兰思维,你也可以使用dc
:
pax> n1=355 ; n0=113
pax> echo 50 k $n1 $n0 / p | dc
3.14159292035398230088495575221238938053097345132743
在这两种情况下,您都可以设置要使用的比例(通过在bc
中设置scale
或在dc
中使用k
命令)。
我想补充一点
p1=$(python -c "print $n1*1.0/$n0")
BASH不做任何浮点运算。您可以使用bc
或awk
。
例如:
p1=$(bc -l <<< "scale=5; $n1/$n0")
echo "$p1"
.01694
更新:使用awk:
awk -v n1=$n1 -v n0=$n0 'BEGIN{printf("%.5f\n", (n1/n0))}'
0.01695
下午好. 抱歉我把你弄糊涂了。如果有任何问题请告诉我。有人帮忙吗? 谢谢。 维斯瓦 --1小时:30分钟--所以从1:00到1:59:59的任何值都是第二个实例值,且时区为MST。
帮帮我PL0X。
本文向大家介绍C# 获取某个时间的0点0分和23点59分59秒,包括了C# 获取某个时间的0点0分和23点59分59秒的使用技巧和注意事项,需要的朋友参考一下 C# 获取某个时间的0点0分和23点59分59秒,具体代码如下所示: 知识点扩展:java 获取某一日期的0点0分0秒和23点59分59秒 总结 以上所述是小编给大家介绍的C# 获取某个时间的0点0分和23点59分59秒,希望对大家有所帮助
问题内容: 标题可能有些混乱,所以请允许我解释一下。我正在使用一张桌子记录我的工作日志。每天我都会创建一个条目,说明从什么时间到什么时间工作,并添加一条注释来描述我的工作。 然后,我使用查询来比较时间戳,以准确计算出当天我工作了多少小时和几分钟。此外,我使用查询来计算我全年工作的小时数和分钟数的总和。那就是我遇到问题的地方。我的查询如下。 默认情况下,MySQL TIME字段允许的时间范围为’-8
根据条件判断是否继续执行 Loop 或 For 循环。 Loop { ... } Until Expression 参数 Expression 任何有效的 表达式. 备注 在每次重复执行后都会计算一次表达式, 即使使用了 continue 也会进行计算. 如果表达式计算结果为 false (即为空字符串或数值 0), 循环继续; 否则循环被打破且跳到 Until 之后一行执行. Loop
一般人都认为写程序的人除了写起程序来,脑子大都不好使,其实绝影比猴还精。你想这大爷半路才杀出来,不就是做了一点点协议的分析,他居然不经考虑就开出两倍工资的条件。在大爷来看,这已经是给绝影莫大的便宜了。 古训曰:便宜莫贪啊。比如土匪跟绝影借钱,本来按照土匪的性格他借了钱是万万不可能还的,在借的时候绝影也知道这个道理,但是又借得不多,损失不大,不借,以后还被他耻笑,被他耻笑不要紧,他又拿出去满世界宣传