Unix 在bc中除法时如何获得十进制数?
我需要“bc”来划分一个数字,不仅给我地板,还给我剩余的部分。例如,如果我做“5/2”,那么“bc”会给我“2”。我真的想要像“2.5”这样的东西 也许这根本不可能Unix 在bc中除法时如何获得十进制数?,unix,bc,Unix,Bc,我需要“bc”来划分一个数字,不仅给我地板,还给我剩余的部分。例如,如果我做“5/2”,那么“bc”会给我“2”。我真的想要像“2.5”这样的东西 也许这根本不可能 scale = 20 它设置小数位数 $ bc bc 1.06 Copyright 1991-1994, 1997, 1998, 2000 Free Software Foundation, Inc. This is free software with ABSOLUTELY NO WARRANTY. For details ty
scale = 20
它设置小数位数
$ bc
bc 1.06
Copyright 1991-1994, 1997, 1998, 2000 Free Software Foundation, Inc.
This is free software with ABSOLUTELY NO WARRANTY.
For details type `warranty'.
355/113
3
scale=20
355/113
3.14159292035398230088
quit
$
另外请注意,每次使用
bc
时,您可以通过使用-l
选项(该选项会自动将scale
设置为20,并定义多个数学函数)来避免手动设置scale
。您在1分钟内回答得非常好。你真是个半神半神。@EhevuTov纯粹是运气;在你发布这个问题后不久,我偶然发现了它,并且知道答案。@jwodder:谢谢!我知道-l
选项(我一直认为它应该是“数学图书馆”的-m
,但这是我的问题);我没有注意到刻度的自动设置。如果你调用bc-l
,你可以写:4*a(1)
,得到3.14159265358979323844
,比355/113更接近π(虽然这对6dp很好,这对于很多目的来说都足够了)。如果你很容易被逗乐(或者在“社交距离”时感到无聊),然后,355/113
在十进制扩展中确实有一个重复的数字模式,但该模式的长度为112位,从小数点后的141
开始。设置scale=350
(或355
),您会发现重复模式是14159292035398230088495575221238938053097345132743362831858407079646017699115044247761061946902654867256637168
。(有没有一个标准的Unix实用程序可以在不进行编程的情况下查找repeat?我不知道有哪一个。)