Unix 脚本编程和重要数字

Unix 脚本编程和重要数字,unix,division,tcsh,Unix,Division,Tcsh,我目前正在尝试使用tcsh制作脚本,我注意到: 如果你进行除法运算,它只会输出和参数一样多的有效数字 i、 e.(数字是输入的参数): 2/4输出0 4/2产出2 22/2产出11 1/8输出0 9/2产出4 那么如何改变这一点呢?因此1/8=0.125,2/4=0.5,9/2=4.5等等?您必须通过请求变量的数据类型来提供所需的内存空间。如果您将答案设置为char类型的变量,则只有一个字符的空间。如果将变量类型设置为float,则会为十进制值准备内存 使用任意精度计算器bc并将比例设置为所需

我目前正在尝试使用
tcsh
制作脚本,我注意到: 如果你进行除法运算,它只会输出和参数一样多的有效数字

i、 e.(数字是输入的参数):

2/4输出0
4/2产出2
22/2产出11
1/8输出0
9/2产出4

那么如何改变这一点呢?因此1/8=0.125,2/4=0.5,9/2=4.5等等?您必须通过请求变量的数据类型来提供所需的内存空间。如果您将答案设置为char类型的变量,则只有一个字符的空间。如果将变量类型设置为float,则会为十进制值准备内存

使用任意精度计算器
bc
并将比例设置为所需的精度:

 $ bc -e 'scale=10;1/8;4/5; scale=30; 1/31'
 .1250000000
 .8000000000
 .032258064516129032258064516129

GNU/Linux shell只能执行整数除法。不过,还有其他选择:KornShell的可能副本可以处理十进制值,但Bourne-like shell只处理整数。好吧,我想知道如何将变量定义为浮点?@JustinFroias您使用的是什么shell?@JustinFroias
tcsh
只支持整数,您需要使用其他东西。公元前30年。这将为您提供分配浮点类型的工具。