如何使用bash或其他语言/框架进行整数和浮点计算?


294

echo "20+5"字面使用会产生文字“ 20+5”。

25在这种情况下,我可以使用什么命令来获取数字总和?

另外,仅使用bash进行浮点运算的最简单方法是什么?例如,echo $((3224/3807.0))打印0:(。

我正在使用基本命令外壳程序(“命令行”)本身或通过使用命令行中可用的语言来寻找答案。


1
如果要使用bc,最好花点时间阅读-l手册页中的选项。
glenn jackman 2012年

我假设作者正在要求bash命令行,而答案都倾向于多样化到各种脚本语言。
zinking 2012年

2
人的bash→/表达
ДМИТРИЙМАЛИКОВ

1
@zinking好吧,bash旨在方便地调用大量其他脚本语言的解释器。
Random832

教bash整数除法和浮点结果:stackoverflow.com/a/24431665/3776858
Cyrus

Answers:


399

有很多选择!

摘要

$ printf %.10f\\n "$((10**9 * 20/7))e-9"   # many shells. Not mksh.
$ echo "$((20.0/7))"                       # (ksh93/zsh/yash, not bash)
$ awk "BEGIN {print (20+5)/2}"
$ zcalc
$ bc <<< 20+5/2
$ bc <<< "scale=4; (20+5)/2"
$ dc <<< "4 k 20 5 + 2 / p"
$ expr 20 + 5
$ calc 2 + 4
$ node -pe 20+5/2  # Uses the power of JavaScript, e.g. : node -pe 20+5/Math.PI
$ echo 20 5 2 / + p | dc 
$ echo 4 k 20 5 2 / + p | dc 
$ perl -E "say 20+5/2"
$ python -c "print(20+5/2)"
$ python -c "print(20+5/2.0)"
$ clisp -x "(+ 2 2)"
$ lua -e "print(20+5/2)"
$ php -r 'echo 20+5/2;'
$ ruby -e 'p 20+5/2'
$ ruby -e 'p 20+5/2.0'
$ guile -c '(display (+ 20 (/ 5 2)))'
$ guile -c '(display (+ 20 (/ 5 2.0)))'
$ slsh -e 'printf("%f",20+5/2)'
$ slsh -e 'printf("%f",20+5/2.0)'
$ tclsh <<< 'puts [expr 20+5/2]'
$ tclsh <<< 'puts [expr 20+5/2.0]'
$ sqlite3 <<< 'select 20+5/2;'
$ sqlite3 <<< 'select 20+5/2.0;'
$ echo 'select 1 + 1;' | sqlite3 
$ psql -tAc 'select 1+1'
$ R -q -e 'print(sd(rnorm(1000)))'
$ r -e 'cat(pi^2, "\n")'
$ r -e 'print(sum(1:100))'
$ smjs
$ jspl

细节

炮弹

您可以将POSIX算术扩展用于整数算术echo "$((...))"

$ echo "$((20+5))"
25
$ echo "$((20+5/2))"
22

相当可移植(ash dash yash bash ksh93 lksh zsh):
使用printf功能来打印浮点数,尽管范围有限(不超过10位),但我们可以扩展大多数shell来进行浮点数学运算:

$ printf %.10f\\n "$((1000000000 *   20/7  ))e-9"
2.8571428570

ksh93yash并且zsh支持浮动在这里:

$ echo "$((1.2 / 3))"
0.4

ksh93(直接)并zsh在此处加载库mathfunc:

$ echo "$((4*atan(1)))"
3.14159265358979324

zsh需要加载zmodload zsh/mathfunc以获取类似的功能atan)。


与zsh交互:

$ autoload zcalc
$ zcalc
1> PI/2
1.5708
2> cos($1)
6.12323e-17
3> :sci 12
6.12323399574e-17

使用(t)csh(仅整数):

% @ a=25 / 3; echo $a
8

rcshell家族中,akanga是具有算术扩展的那个:

; echo $:25/3
8

POSIX工具箱

bc(有关互动模式,请参见下文),请在此处手动进行

助记符:best calculator(尽管b实际上是basic的)。

$ echo 20+5/2 | bc
22
$ echo 'scale=4;20+5/2' | bc
22.5000

(支持任意精度数字)


BC互动模式:

$ bc
bc 1.06.95
Copyright 1991-1994, 1997, 1998, 2000, 2004, 2006 Free Software Foundation, Inc.
This is free software with ABSOLUTELY NO WARRANTY.
For details type `warranty'. 
5+5
10

2.2+3.3
5.5

Rush的解决方案,expr(无交互模式):

$ expr 20 + 5
25
$ expr 20 + 5 / 2
22

约书亚的解决方案:(awk无交互模式):

$ calc() { awk "BEGIN{print $*}"; }
$ calc 1/3
0.333333

其他或多或少的便携式工具

Arcege的解决方案,dc(交互模式:)dc

这更有趣,因为它通过反向抛光符号起作用。

$ echo 20 5 2 / + p | dc 
22
$ echo 4 k 20 5 2 / + p | dc 
22.5000

但是不实用,除非您经常使用反向抛光符号。

请注意,dc早于bcbc历史上已实现为包装器,dcdc尚未由POSIX标准化


DQdimscalc(必需sudo apt-get install apcalc)

$ calc 2 + 4
6

通用语言解释器:

manatwork的解决方案,node(交互模式:node;无需输出功能):

$ node -pe 20+5/2  # Uses the power of JavaScript, e.g. : node -pe 20+5/Math.PI
22.5

Perl(互动模式:)perl -de 1

$ perl -E "say 20+5/2"
22.5

Python(交互模式:python;无需输出函数):

$ python -c "print(20+5/2)"
22 # 22.5 with python3
$ python -c "print(20+5/2.0)"
22.5

还支持任意精度数字:

$ python -c 'print(2**1234)'
295811224608098629060044695716103590786339687135372992239556207050657350796238924261053837248378050186443647759070955993120820899330381760937027212482840944941362110665443775183495726811929203861182015218323892077355983393191208928867652655993602487903113708549402668624521100611794270340232766099317098048887493809023127398253860618772619035009883272941129544640111837184

如果已clisp安装,则还可以使用波兰语表示法:

$ clisp -x "(+ 2 2)"

Marco的解决方案,lua(交互模式:)lua

$ lua -e "print(20+5/2)"
22.5

PHP(互动模式:)php -a

$ php -r 'echo 20+5/2;'
22.5

Ruby(交互模式:irb;无需输出功能):

$ ruby -e 'p 20+5/2'
22
$ ruby -e 'p 20+5/2.0'
22.5

指导(互动模式:)guile

$ guile -c '(display (+ 20 (/ 5 2)))'
45/2
$ guile -c '(display (+ 20 (/ 5 2.0)))'
22.5

S-Lang(交互模式:slsh;不需要输出功能,只需一个;终止符):

$ slsh -e 'printf("%f",20+5/2)'
22.000000
$ slsh -e 'printf("%f",20+5/2.0)'
22.500000

Tcl(交互模式:tclsh;但不需要输出功能expr):

$ tclsh <<< 'puts [expr 20+5/2]'
22
$ tclsh <<< 'puts [expr 20+5/2.0]'
22.5

Javascript Shell:

$ smjs
js> 25/3
8.333333333333334
js>

$ jspl
JSC: 25/3

RP: 8.33333333333333
RJS: [object Number]
JSC:
Good bye...

$ node
> 25/3
8.333333333333334
>

各种SQL:

SQLite(交互模式:)sqlite3

$ sqlite3 <<< 'select 20+5/2;'
22
$ sqlite3 <<< 'select 20+5/2.0;'
22.5

MySQL的

mysql -BNe 'select 1+1'

PostgreSQL

psql -tAc 'select 1+1

_在mysql和postgres上的选项停止了“ ascii art”图像!

面向数学的专业语言:

普通模式下的R-可以生成1000个正常随机数并获得标准偏差并进行打印

$ R -q -e 'print(sd(rnorm(1000)))'
> print(sd(rnorm(1000)))
[1] 1.031997

R使用littler脚本-让pi平方打印

$ r -e 'cat(pi^2, "\n")'
9.869604
$  r -e 'print(sum(1:100))'
[1] 5050

PARI / GP,一个广泛的计算机代数系统,用于数论,线性代数和许多其他事物

$ echo "prime(1000)"|gp -q
7919                        // the 1000th prime
$ echo "factor(1000)" | gp -q
[2 3]
[5 3]                       // 2^3*5^3
$ echo "sum(x=1,5,x)" | gp -q
15                          // 1+2+3+4+5

GNU Octave(一种高级解释语言,主要用于数值计算)

还支持复数:

$ octave
>> 1.2 / 7
ans =  0.17143
>> sqrt(-1)
ans =  0 + 1i

Julia,用于科学和数值计算的高性能语言和解释器。

非交互式选项:

$ julia -E '2.5+3.7'
6.2

3
和bc很有趣:whatis bc-> An arbitrary precision calculator language 有趣!谢谢!
Michael Durrant 2012年

@MichaelDurrant您可以重新修订您的编辑吗,我一定是错误地拒绝了?
lgarzo 2012年

4
还有dc,由于使用了反向抛光符号,因此更有趣。echo 20 5 + p | dc 但是不实用,除非您经常使用反向抛光符号。
Arcege 2012年

2
作为bc方法的一种变体,我在.bashrc文件中添加了以下函数(在stackexchange上的某处找到)。我可以输入calc 2 + 3并得到 ## Command line calculator calc () { bc -l <<< "$@" }
Joe

1
@克里斯,鱼是一个移动的目标。math正如我们所说的那样,他们正在开发新的内置函数(或现在所说的任何东西)。随时编辑。这不是我的答案,而是社区Wiki。
斯特凡Chazelas

35

有很多计算方法。对于简单的表达式,您可以bash自己使用:

echo $((20+5))

expr

expr 20 + 5

对于复杂的情况,有一个很棒的工具bc

echo "20+5" | bc

Btw,bc甚至可以计算具有根,对数,cos,sin等的非常复杂的表达式。


我将您的expr选择添加到了接受的答案中。只好挑选一个接受并集中。
Michael Durrant 2012年

3
您正在尝试执行expr 20+5。您需要在数字和加号之间输入空格以使其起作用:expr 20 + 5。那很重要

24

提到的解决方案适用于非常简单的计算,但容易出错。例子:

# without spaces expr 20+5 produces literally 20+5
expr 20+5
 20+5

# bc's result doesn't give the fractional part by default
bc <<< 9.0/2.0
 4

# expr does only integer
expr 9 / 2
 4

# same for POSIX arithmetic expansion
echo $((9/2))
 4

# bash arithmetic expansion chokes on floats
echo $((9.0/2.0))
 bash: 9/2.0: syntax error: invalid arithmetic operator (error token is ".0")

# Most `expr` implementations also have problems with floats
expr 9.0 / 2.0
 expr: non-integer argument

很容易注意到类似最后一个语法错误,但是带有丢弃的浮点部分的整数响应很容易被忽略,并导致错误的结果。

这就是为什么我总是使用像Lua这样的脚本语言的原因。但是,您可以选择任何您熟悉的脚本语言。我仅以Lua为例。优点是

  • 熟悉的语法
  • 熟悉的功能
  • 熟悉的警告
  • 灵活的输入
  • 空间通常不重要
  • 浮点输出

例子:

lua -e "print(9/2)"
 4.5

lua -e "print(9 / 2)"
 4.5

lua -e "print(9.0/2)"
 4.5

lua -e "print (9 /2.)"
 4.5

lua -e "print(math.sqrt(9))"
 3

2
bc的结果不是整数,而是四舍五入为scale,其默认值为0。因此,bc <<< 'scale=4;9.0/2.0'如果要小数部分。
manatwork 2012年

感谢您的更正。但是仍然容易出错。scale如果我bc在几周内使用,我会建议添加吗?可能不是。并且即使有永久更改它的方法,如果您使用默认设置的系统,它也会咬住您。
Marco Marco

3
我个人确实记得scale自从bc几年前第一次见面以来。但是我总是忘记了其中的输出函数luaput还是puts。;)
manatwork 2012年

只需将bc视为脚本语言之一。我总是知道我是否需要整数结果-如果整数还可以,我会继续使用bash,否则我很少有理由使用bc。对于lua,您必须记住-e,print和括号。
用户未知

7
只是总是使用bc -l而不是简单bc,然后再也不用担心scale
Dalker

23

还没有人提到awk吗?

使用POSIX shell函数和awk数学功能,只需定义以下(一行)函数即可:

calc(){ awk "BEGIN { print $*}"; }

然后,只需执行喜欢的东西calc 1+1calc 5/2

注意:要使该功能始终可用,请将其添加到〜/ .bashrc(或相应的Shell的启动文件)中

当然,一个名为“ calc”的小脚本具有以下内容:

#!/bin/sh -
awk "BEGIN { print $* }"

也可以。


2
哇,这是最好的,甚至支持浮点数。它无需安装任何东西即可工作!
CMCDragonkai 2014年

1
很好,我想进行浮动比较,这是我在您的帮助下进行的操作:a=0; b=0.0; if echo "$a" "$b" | awk '{ exit ($1 == $2) ? 0 : 1 }'; then echo 'equals'; else echo 'not equals'; fi
Paul Tobias 2015年

18

您可以使用bc。例如,

$ echo "25 + 5" | bc
30

或者bc <<< 25+5也可以。

或以交互方式,如果您想做的不仅仅是一个简单的计算:

$ bc
bc 1.06.95
Copyright 1991-1994, 1997, 1998, 2000, 2004, 2006 Free Software Foundation, Inc.
This is free software with ABSOLUTELY NO WARRANTY.
For details type `warranty'. 
25 + 5
30

bc当其stdin和stdout都进入终端时,GNU的实现在启动时会打印该标头/版权信息。您可以使用(特定于GNU的)-q选项禁止显示。有关更多信息,请参见BC手册页。


1
对于管道(“ |”)和BS的交互模式选项均为+1。有没有人ctrl-d退出?
Michael Durrant 2012年

1
@MichaelDurrant是的,^ D会做到这一点quit
Levon

c () { bc -l <<< "$@" } 将定义一个功能c ,方便快速使用。例如c 3/2会给你1.50000000000000000000。上面描述如何执行此操作的链接已失效。
ijoseph '18

1
@Levon手册页链接仍然有效。但是,出现链接:paweng.com/2008/08/15/unix-command-line-calculator,您在句子“此页面还显示了如何设置别名…” 中将其作为“ This”的目标提供。死。
ijoseph '18

1
@ijoseph谢谢..我删除了对该6岁链接的引用(希望这些链接在我的浏览器中更清楚地显示-昨天看时甚至没有看到它)
Levon

16

您可以使用calc

如果您只输入calc了其他参数,它将进入一个交互模式,您可以继续进行数学运算。您可以通过键入exit退出此命令:

C-style arbitrary precision calculator (version 2.12.3.3)
Calc is open software. For license details type:  help copyright
[Type "exit" to exit, or "help" for help.]

; 2+4
6
; 3+5
8
; 3.4+5
8.4
; 2^4
16
; exit

或者您将其与表达式作为参数一起使用,它将提供答案,然后退出

$calc 2 + 4
    6
$

calc与相似bc,我喜欢它表现得更好的默认方式


1
您不需要进入交互模式,除非您特别希望这样做,例如:calc -e '2+4; 3+5; 3.4+5; 2^4打印4条输出行,或者仅打印calc -e 33+(3^3).. +1我喜欢使用称为“ calc”的计算器的想法:)
Peter.O

1
我刚刚意识到,-e当只有一个表情......不需要选项整齐..!
Peter.O

10

我喜欢启动Python并将其用作交互式计算器(但同样,我是Python程序员)。


我也是!Python是我的瑞士军刀
Levon

screen运行Python时,我总是只有一个窗口。
Arcege 2012年

1
pythonpy(github.com/russell91/pythonpy)是一种使用python语法执行此操作和其他操作的好方法,而无需启动交互式shell:
py'3.2

我喜欢python,但是如果您只想在bash脚本的几个位置添加两个数字,那么启动时间就很重要
ndemou

@ndemou我说过“交互式”计算器。尽管在某个时刻如果您要在脚本中完成足够复杂的事情,但也值得注意的是,理智要求您使用的不是bash(例如Python)。
asmeurer

10

既然没有人提到过它,尽管它并不是严格意义上的计算器(但所有这些通用脚本语言也不都是),但我想提一下units

$ units "1 + 1"
        Definition: 2
$ units "1 lb" "kg"
        * 0.45359237
         / 2.2046226

或者,为了减少输出,您可以只获取$()分配给某物的数字:

$ units -t "1 + 1"
2
$ units -t "1 lb" "kg"
0.4539237

它甚至可以进行温度转换

$ units -t "tempC(20)" "tempF"
68

要在表达式中获得温度转换以进行进一步计算,请执行以下操作:

$ units -t "~tempF(tempC(20))+1"
68.1

有很多选项不需要安装额外的程序,所以我不明白为什么要这样做。
ndemou

@ndemou默认情况下,它已安装在某些发行版上……而其他许多答案都没有。您是否真的需要针对已有五年历史的答案发表评论?
Random832 '17

1
我认为当我拒绝投票时最好发表评论,这也是SE所鼓励的一种做法,我不明白为什么五年是有意义的。相同的评论适用于所有类似的答案-绝不涉及个人。(顺便说一句,即使是最晦涩的程序也可以默认安装在某些发行版上。在这种情况下,我已经测试了Debian,Ubuntu,CentOS和RedHat的最新安装,而没有安装过此工具)
ndemou

6
$> ghc -e '20 + 5'
25
it :: Integer

同样ghci,交互模式下的Glasgow-Haskell编译器ghc --interactive而不是用来评估表达式-e)使“计算器”变得引人入胜:

$>ghci
GHCi, version 7.8.3: http://www.haskell.org/ghc/  :? for help
Loading package ghc-prim ... linking ... done.
Loading package integer-gmp ... linking ... done.
Loading package base ... linking ... done.
Prelude> pi
3.141592653589793
Prelude> ceiling pi
4
Prelude> compare 1 2
LT

3
ghc是Glasgow Haskell编译器的意思吗?
manatwork 2012年

传递我需要安装的程序,但要谢谢。
Michael Durrant 2012年

4

我简直不敢读“ JavaScript的力量”(但是我不得不赞成其他部分的答案,当然除了perl。

实际上,对于整数运算就足够的简单情况,我使用buildin $((...))并推荐使用。否则,几乎在所有情况下都回显“ ...”。公元前就足够了。

对于某些算术运算(如统计,矩阵运算等)R是更好的工具:

echo 25 + 5 | R --vanilla

对于小型数据集和图形丢弃结果,oocalc是一个不错的实用程序。


4

我使用了一个小的python脚本,它将评估一个python表达式并打印结果,然后我可以运行类似

$ pc '[i ** 2 for i in range(10)]'
[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]

脚本是:

#!/usr/local/bin/python3

import sys
import traceback
from codeop import CommandCompiler

compile = CommandCompiler()
filename = "<input>"
source = ' '.join(sys.argv[1:]) + '\n'

try:
    code = compile(source, filename) 
except (OverflowError, SyntaxError, ValueError):
    type, value, sys.last_traceback = sys.exc_info()
    sys.last_type = type
    sys.last_value = value
    if filename and type is SyntaxError:
        # Work hard to stuff the correct filename in the exception
        try:
            msg, (dummy_filename, lineno, offset, line) = value.args
        except ValueError:
            # Not the format we expect; leave it alone
            pass
        else:
            # Stuff in the right filename
            value = SyntaxError(msg, (filename, lineno, offset, line))
            sys.last_value = value
    lines = traceback.format_exception_only(type, value)
    print(''.join(lines))
else:
    if code:
        exec(code)
    else:
        print('incomplete')

不幸的是,我不记得我从哪里借来了大部分代码,因此我无法引用它。


不会print(eval(' '.join(sys.argv[1:])))做同样的事情?
g.rocket 2014年

您在这里用锤子
打苍蝇

4

Gnuplot

gnuplot-交互式绘图程序
按照上面的链接或在 gnuplot解释器中输入gnuplot提示形式。Gnuplot是一个用于绘制数据的程序,但也可以用于计算。它提供的优势是您可以定义功能或使用内置功能。help

echo  "pr 20+5/2"  |  gnuplot          #  Lazy-note `pr` instead of print
22                                     #  Integer calculation & result
echo  "pr 20.+5/2"  |  gnuplot         #  Lazy-note `pr` instead of print
22.0                                   #  Floating point result
echo  "pr sin(2*pi/3.)"  |  gnuplot    #  Some functions ...
0.866025403784439

根(或其他一些C解释器

ROOT系统提供了一组在一个非常有效的方式来处理和分析大量数据所需的所有功能OO框架...

你可以把它当作C解释CINT,或者你可以使用一个很多很多其他的C解释。恕我直言,它庞大,复杂,强大,而且并不总是友好的,但也可以带来极大的满足感。

如果您真的不想听引述孔夫西奥(Confucio)的内在声音,并且准备打破方向盘上的(黄油)飞蝇,可以使用root。在这种情况下-l,必须避免显示启动屏幕...

echo  "20+5/2"   | root -l
(const int)22
echo  "20+5/2."  | root -l
(const double)2.25000000000000000e+01

echo  "cout<< 20+5/2 << endl;"   | root -l
22

4

对于整数算术(其中3/2 = 1)

  • bash echo $(( 1+1 ))
  • fish math 1+1
  • zsh* echo $((1+1))

*:和ksh93,yash

对于浮点运算(其中3/2 = 1.5)

  • bash awk "BEGIN {print 10/3}" (低精度)
  • bash echo "10/3"|bc -l (高精准度)
  • fish math -s4 10/3
  • zsh* echo $((10./3))

*:和ksh93,yash

当然,您可以将shell配置为使用awk并使用最少的类型,例如calc 10/3(请参阅有关如何对bash 1和fish 2进行操作的说明)。

建议使用bash的awk的主要原因是,它几乎已经预安装在所有与Unix相似的Unix操作系统上,并且相对轻巧(更人性化),输出比bc -l打印20十进制小得多,但它相对较轻但更人性化数字(尽管您当然可以调整awk以获得更多的十进制数字)。


笔记

(1)如何在bash中使用简化语法

将此bash函数添加到您的~/.bashrc

calc(){ awk "BEGIN { print $*}"; }

(2)如何在fish中使用简化语法

创建一个calcfish函数(即名为的文本文件/home/ndemou/.config/fish/functions/calc.fish):

function calc
    awk "BEGIN{ print $argv }" ;
end

awk将使用系统的double浮点类型,那么将是为精确作为不做任意精度(注意,GAWK可以做任意精度)其它大部分工具。awk使用OFMT变量将数字转换为其字符串表示形式以进行输出(%.6g默认情况下,您可能希望将其更改%.17g为想要更高的精度)。
斯特凡Chazelas

注意fishmath仅仅是调用一个函数bc(虽然这是改变
斯特凡Chazelas

1
好吧,这是一个调用的函数bc。这不是在新版本中不再那里的东西喜欢math "scale=4; 10/3"(就不管用了math -s4 10/3,现在不是)
斯特凡Chazelas

感谢StéphaneChazelas-我已经更新了答案(math -s4似乎也支持旧版本)
ndemou

3

对于控制台计算,我使用concalc。(sudo aptitude install concalc

之后,只需键入concalc 并按回车即可。它不会提供提示,只是输入您的计算(不带空格)并按Enter键,然后在下一行为您提供数值。


3

SQLite

echo 'select 1 + 1;' | sqlite3 

MySQL的

mysql -e 'select 1 + 1 from dual;'

PostgreSQL

psql -c 'select 1 + 1 as sum;'

3
一些小细节值得一提:1)from dualOracle需要的,MySQL能够select不带from子句。2)PostgreSQL不需要别名。3);只有SQLite才需要。4)MySQL和PostgreSQL仅在能够连接到数据库服务器时才能工作。5)MySQL和PostgreSQL将围绕结果绘制ASCII艺术表。仅获取值:mysql -BNe 'select 1+1'psql -tAc 'select 1+1
manatwork 2012年

2

通过提供的程序使用GNU多精度算术库run-expr

  • 下载并解压缩(您将需要lzip): tar -xvf gmp-5.1.3.tar.lz
  • 在顶层目录中,./configure并且make(无需安装)
  • 在演示/ expr中 make run-expr
  • 我喜欢在~/bin目录中创建指向它的符号链接:ln -s /path/to/gmp/demos/expr/run-expr ~/bin/run-expr
  • 添加别名以便于使用;例如alias calcf='run-expr -f'用于浮点评估

输出:

# calcf '2/3'
"2/3" base 0: result 0.666666666666666666667e0

run-expr.c文件:

Usage: ./run-expr [-z] [-q] [-f] [-p prec] [-b base] expression...

   Evaluate each argument as a simple expression.  By default this is in mpz
   integers, but -q selects mpq or -f selects mpf.  For mpf the float
   precision can be set with -p.  In all cases the input base can be set
   with -b, or the default is "0" meaning decimal with "0x" allowed.

有关功能类差异和详细信息,请参见手册

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.