- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试使用“bc”在 Bash 脚本中实现以下计算,但“scale”选项产生的结果不正确,末尾有 2 个额外的零,这意味着我必须手动修剪它(丑陋).
计算:
((2592000-239)÷2592000)×100
预期结果:99,990779321(但我只想显示小数点后两位)
在 Bash 中:
echo "scale=2; ((2592000-239)/2592000)*100" | bc
99.00
echo "scale=3; ((2592000-239)/2592000)*100" | bc
99.900
echo "scale=4; ((2592000-239)/2592000)*100" | bc
99.9900
echo "scale=5; ((2592000-239)/2592000)*100" | bc
99.99000
echo "scale=8; ((2592000-239)/2592000)*100" | bc
echo "scale=8; ((2592000-239)/2592000)*100" | bc
99.99077900
echo "scale=10; ((2592000-239)/2592000)*100" | bc
99.9907793200
根据手册页:
NUMBERS The most basic element in bc is the number. Numbers are arbitrary precision numbers. This precision is both in the integer part and the fractional part. All numbers are represented internally in decimal and all computation is done in decimal. (This version truncates results from divide and multiply operations.) There are two attributes of numbers, the length and the scale. The length is the total number of significant decimal digits in a number and the scale is the total number of decimal digits after the decimal point. For example: .000001 has a length of 6 and scale of 6. 1935.000 has a length of 7 and a scale of 3.
我理解正确吗?
最佳答案
您可以使用:
echo 'scale=2; 100*(2592000-239)/2592000' | bc -l
99.99
你得到 99.00
因为你首先除法得到 .99
并且当它与 100
相乘时它变成 99.00
(由于 scale-2
)
关于bash 和 bc 带小数点的数学计算,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42956147/
我试图在多台主机上运行这个脚本,但它们没有安装 bc。 我读到你可以使用类似“awk 'BEGIN {print...}' 的东西,但我无法让它工作。 #!/bin/bash nproc=$(npro
我试图找到一个正则表达式来匹配具有字符串“question”但不具有或不包含字符串“ion”的所有字符组合。 例子: questionxxxx ------>匹配 xxxquestion-------
我可以使用 Python 运行 bc,代码如下: subprocess.Popen("bc", stdout=subprocess.PIPE).communicate()[0] 但是,这只会启动 bc
我们使用API在Dynamic 365 BC中处理采购数据,以更新、接收和开具采购订单行。(Dynamic 365插件在不使用文件的情况下解析附注附件XML)我们现在希望将发票文档作为附件上传到采购发
我正在尝试使用 bc 将我的数字计算缩放到一位小数(所有适用的四舍五入) linux下的命令。这是我的测试表达式: echo "scale 1; 90 - 70.333" | bc 但是,我最终得到了
jack 10 10号 A 20 卢卡20 A Bc U 20 我想得到这些数字的总和:10 + 10 + 20 + 20 + 20 = 80 但是我不能使用cat input|cut -d " "
我正在用 C# 实现一些东西,对此我有一个单独的规范,并且对我需要做什么有相当清楚的了解,但同时作为引用,我有一个 Java 实现,并且希望遵循以下中的 Java 实现我尽可能接近这个案例。 该代码涉
我正在尝试将 32 个字符长的十六进制字符串(例如:A41EB86E184207262C12F66E7C480577)转换为二进制。我正在使用: echo "ibase=16; obase=2; $l
我正在尝试编写一个 bash 脚本,我需要做一些 float 学运算。基本上我想做这样的事情: NUM=$(echo "scale=25;$1/10" | bc) if [ $? -ne 0 ] th
这是我的 netstat 命令的输出。我想计算第一个字段的总数,例如 7+8+1+1+1+1+3+1+2..so on... 我如何使用 bc 或任何其他方法命令来计算它们的总数? [root@exa
我希望以 6 十六进制值格式返回以下十六进制... [admin@X~]$ echo "obase=16; 16777215" | bc FFFFFF [admin@X~]$ echo "obase=
您好,我有一个脚本,用于计算从服务器返回的一组值的标准偏差。 我可以轻松检索命令并使用命令构建有效的字符串。 bc <<< "scale=10; sqrt((0+((782636-782030)^2)
我不明白为什么 bc 工具有时会忽略比例选项。 这是一个例子: > echo 'scale=2; 2.777 - 1.4744' | bc 1.3026 预期结果是: 1.30 附加信息: > bas
我正在尝试使用“bc”在 Bash 脚本中实现以下计算,但“scale”选项产生的结果不正确,末尾有 2 个额外的零,这意味着我必须手动修剪它(丑陋). 计算: ((2592000-239)÷2592
我正在使用 bc从 bash 脚本来做一些快速而肮脏的 BigInteger 数学运算,但是,当我提高比例时,它开始在我身上分割线: pax> echo 'scale=200 ; 1 / 4' | b
我想计算一个数字的对数(以 10 为底)。如何使用 bc 执行此操作? 最佳答案 使用 -l 选项调用 bc(以启用数学库),如下所示: $ echo 'l(100)/l(10)' | bc -l 2
我在 GitHub 上发现了术语“BC Break”——它是什么意思? 最佳答案 “BC 中断”通常意味着 backward compatibility笼统地说,但正如 David Schwartz
对于大型输出,unix 中的 bc 实用程序以这种格式提供输出: $ bc bc 1.06.95 Copyright 1991-1994, 1997, 1998, 2000, 2004, 2006
我想显示例如ac年份为1999年12月31日,BC年份为2000年12月31日(-)。我花了一些时间研究 joda api,例如像这样: new DateTimeFormatterBuilder().
#! /bin/sh a1=260 a2=9150 echo "$a1 * 100 / $a2" | bc 输出是 2 它应该在哪里 2.8415 为什么我在使用 bc 时精度会丢失? 最佳答案 试试
我是一名优秀的程序员,十分优秀!