bash - Bash,需要对变量进行计数,舍入到2并存储到变量
问题描述
我需要计算变量,舍入到 2 并存储到变量。
例子:
我有来自数组 ${array[5]} 的变量和定义的增值税变量,我需要计算简单
( $vat * ${array[5]} + ${array[5]} )
并存储到可变价格增值税。
我试过:
vat = 0.21
pricevat=$(echo "$vat * ${array[5]}" + ${array[5]} | bc -l)
(( pricevat=$vat*${array[5]}+${array[5]}))
但没有任何效果:
line 48: ((: pricevat=0.21*0.233+0.233: syntax error: invalid arithmetic operator (error token is ".21*0.233+0.233"
请问你能帮帮我吗?哪里有问题?什么是最好的解决方案。非常感谢你。
S。
解决方案
有可能(虽然,它不会四舍五入,而是截断到小数点后 3 位):
array=( ... ... ... ... ... 102.03 ... )
vat=0.21
pricevat=$(bc <<< "scale=3; (1+$vat)*${array[5]}")
诀窍是进行bc
舍入,使用它的特殊变量scale
,设置为3
。
推荐阅读
- android - Firebase - 在 Graph 8.0 更新后从具有 Facebook 提供商的身份验证获取个人资料照片网址
- ios - 将缓冲区附加到 AVAssetWriterInputPixelBufferAdaptor *not* 按时间顺序?
- reactjs - react js中Formik面临的验证和isValid问题
- kotlin - 从视图中监听协程不能从视图初始化中完成
- python - 如何加快 conda 的包安装过程?
- javascript - How to replace a d3js nest function with group and rollup
- c# - API reuring image 无法正确显示图像
- pagespeed-insights - 是否可以将 cookie 设置为 Page Speed Insights 测试?
- javascript - 如何在 3rd 方 iframe 中的 3rd 方表单上预填充表单字段?(固化)
- php - 如何通过在 laravel 中传递参数来获取内容类型 application/x-www-form-urlencoded 的响应